mycat部署在本地, mysql也在本地的情况下, 连接mycat会报错

ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0

原因:

https://www.jianshu.com/p/f15d64fcb2f3

mycat部署在本地以zk方式启动的时候, 初始化zk的时候, ./init_zk_data 会报错:

错误: 找不到或无法加载主类 io.mycat.config.loader.zkprocess.xmltozk.XmltoZkMain

因为是mac系统, 没有权限读取mycat的jar包, 导致zk无法正常加载....弃用, 购买阿里云ecs

关于自增id, 这篇博客讲的可以:

https://blog.csdn.net/yijiayi810/article/details/80094218

macos完全卸载mysql:

https://blog.csdn.net/u012721519/article/details/55002626

踩过的坑:

mycat1.6不支持单库分表;

最少要mycat1.6.5版本才支持单库分表;,

下载地址:

http://dl.mycat.io/1.6.5/

mycat自增主键的解决方案:

https://segmentfault.com/a/1190000015862596?utm_source=tag-newest

https://www.cnblogs.com/chinesern/p/7954373.html

https://blog.csdn.net/yelllowcong/article/details/79073608

忘记root密码;

①关闭服务:

sudo service mysql stop;

②安全模式+免验证启动服务

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
 

  ①新开一个终端,连接服务器:
新开一个终端:
mysql -u root

 ②切换到mysql数据库:
use mysql;
 
③修改密码 
update user set password = password('123456') where user='root';
4.重启mysql;
service mysqld restart; 
 
5.允许所有ip访问:
 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
 
 
主从复制:

1、配置master(主服务器)

vim /etc/my.cnf
#[必须]启用二进制日志
log-bin=mysql-bin
#[必须]服务器唯一ID,默认是1,一般取IP最后一段
server-id=60
重启
service mysqld restart
 
2.查询master(主服务器)的状态
mysql -uroot -p
show master status;
 

3.在主服务器上创建备份专用帐户

mysql -uroot -p123456 -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';"
mysql -uroot -p123456 -e "flush privileges;"
 

2、配置slave(从服务器)

vim /etc/my.cnf
# 启用二进制日志
log-bin=mysql-bin
#[必须]服务器唯一ID,默认是1,一般取IP最后一段
server-id=35
 

3、重启mysql服务

service mysqld restart
 

4、配置Slave启动主从复制
a、进入到mysql命令窗口之中:mysql -uroot -p123456
b、如果现在你已经启动从主机,先关闭:stop slave;

c、如果停止之后还想重新启动,则必须清除所有的日志信息:flush logs;

d、启动从服务器复制功能

//注意master_log_pos值经常会变化,记得执行如下命令前先执行"show master status;",得到最新的Position列,154数字前后无单引号。
change master to master_host='192.168.1.60',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154; start slave;
参数描述:
master_host=主服务器IP
master_user=在主服务器上创建的备份用户名
master_password=备份用户密码
master_log_file=查询master(主服务器)的状态得到的File列的值
master_log_pos=Position列的值
start slave:启动从服务器复制功能
 
 

5、检查从服务器复制功能状态

mysql -uroot -p123456 -e "show slave status\G;" 
 

主要查看以下两项:

Slave_IO_Running: Yes
lave_SQL_Running: Yes

Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。

我在一次配置过程中忘记在主服务器上创建备份用户,Slave_IO_Running 就一直处于“connect”状态;或者防火墙没关闭导致无法连接master服务器。

在b数据库测试a数据库的backup账户是否可用:

mysql -ubackup -p123456 -h192.168.72.210

 
 
相关命令:

mysql -uroot -p123456 -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';"

mysql -uroot -p123456 -e "flush privileges;"

change master to master_host='11.8.39.198',master_user='backup',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=120;
start slave;

mysql -uroot -p123456 -e "show slave status\G;"

GRANT ALL PRIVILEGES ON *.* TO 'backup'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

 
学习链接:
 
主主同步:
 
读写分离策略理解:
https://www.cnblogs.com/kevingrace/p/9365840.html

mycat搭建环境的更多相关文章

  1. Mycat搭建负载均衡,读写分离的Mysql集群

    Mycat搭建负载均衡,读写分离的Mysql集群 准备环境 1.mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 2.Mycat-server-1.6.7.4-te ...

  2. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...

  3. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  4. app整体搭建环境:tabBar切换不同控制器的封装(自定义导航+自定义uiviewcontroler+系统自带tabbar+自定义tabbarController)

    首先,一个app的搭建环境非常重要.既要实现基本功能,又要考虑后期优化的性能. 现在很多应用不仅仅是系统自带的控制器,由于需求复杂,基本上需要自定义多控制器来管理. 新建一个BasicNavigati ...

  5. [转]phonegap 2.9 IOS Xcode 搭建环境

    phonegap 2.9 IOS Xcode 搭建环境   一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

随机推荐

  1. SVN “Previous operation has not finished”

    https://jingyan.baidu.com/article/cbcede0761334902f40b4d31.html 需要运行sqlite3打开.svn下的wc.db数据库文件, sqlit ...

  2. Zabbix 邮件报警示例

     Zabbix 邮件报警示例: 1.编辑 mail.rc 文件添加默认的邮箱配置 # vi /etc/mail.rc set from=1234567@qq.com set smtp=smtp.qq. ...

  3. C语言malloc的用法及详解

    #include <stdio.h> #include <stdlib.h> void freem(int* p){ #include <stdio.h> #inc ...

  4. C变量作用域的分类和优先级

    变量从高到低的优先级以下面展示: 1.文件作用域:变量在全局从文件开头到结尾一直有效即全局变量 2.函数作用域也称局部变量 3.代码块作用域:用{}花括号内的定义的变量:都是在代码块{}中有效 如:i ...

  5. GSS4 D - Can you answer these queries IV

    //给你一个序列,有两种操作: //1.给定x和y,将区间[x,y]内的数开方 //2.询问区间和 // // 因为一个longlong类型的数最多开6次方就变成了1,所以对于1操作,我们暴力修改, ...

  6. package.json 版本号解释

    经常看到package.json中的各种版本号记录 比如 ~ ^ 等.其实是有个规范的.其遵循 semver. 具体的网站为:  http://semver.org/lang/zh-CN/

  7. 解释下Http协议

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只 ...

  8. [SCOI2005][BZOJ 1084]最大子矩阵

    Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. Input 第一行为n,m,k(1≤n≤100,1≤m≤2 ...

  9. python棱形继承(钻石继承)

    class A(object): def func(self): print('A') class B(A): def func(self): super().func() print('B') cl ...

  10. 在 delphi (Object Pascal 语言)中,使用 array 关键字进行数组定义。

    如果需要定义二维数组可以采取以下定义形式: 一.静态数组定义 静态数组定义,通常用于数组元素的数目确定的情况.定义形式如下: 示例: 1 2 3 4 5 6 7 8 9 10 11 type   // ...