我的拓扑:
MySQL1 ,ip:192.168.1.19
MySQL2 ,ip:192.168.1.20
mycat , ip: 192.168.1.15
#我的MySQL和mycat都是用yum安装的,配置文件位置可能不同。
主备部署
安装数据库需要的yum源
yum install centos-release-openstack-pike
yum makecache
一、主库配置
两台MySQL和mycat保证在同一网段,可ping通,这是前提哦。
编辑/etc/my.cnf (MySQL的主配置文件)
log_bin=mysql-bin #开启二进制日志
server_id=1 #设置server id号
更改完配置文件记得重启MySQL服务;
systemctl restart mysqld
进入MySQL
mysql -uroot -p
创建同步账号,可以让MySQL2通过远程连接同步用的账户,不需要很多权限。
grant replication client,replication slave on *.* to rep@'从库ip' identified by 'root';
查看主库状态
show master status\G
二、从库配置
编辑/etc/my.cnf 在[mysqld]下边添加
log_bin=mysql-bin
server_id=2
relay_log=mysql-relay-bin #开启中继日志
log_slave_updates=1
read_only=1 #只读模式
#replicate-do-db = 123 指定那些库需要复制
#replicate-ignore-db = mysql 不复制的库
#replicate-ignore-db = performance_schema 不复制的库
#replicate-ignore-db = information_schema 不复制的库
#replicate-wild-do-table = 数据库名字.表名字 // 所要同步的数据库的单个表,可以加多行就是多个
从库关联主库
change master to master_host='主库ip',master_user='远程登录用户',master_password='配置一个密码';
检查从库状态
show slave status\G;
红色框内一定要是两个yes,否则无法同步,如果有一项或两项是NO,那么,重启主数据库,再次查看,可以试试多重启几次,如若还是不行,重新修改配置文件 /etc/my.cnf 再重启。
做主主备份不需要修改配置文件,只需要将主库的关联库改为从库。
stop slave;
先关闭slave才能进行下方配置。
创建远程账号
grant replication client,replication slave on *.* to rep@'从库ip' identified by 'root';
关联从库,也就是将从库当做主库
change master to master_host='主库ip',master_user='rep',master_password='root';
做完后重启数据库
systemctl restart mysqld
在进入数据库查看slave状态
slave status\G;
三、mycat配置
安装mycat
下载压缩包
wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161
解压
tar -zvxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
更改名字
mv mycat /data/
mycat解压后即可使用。
mycat安装完成后,目录如下:
bin mycat命令,启动、重启、停止等
catlet catlet为Mycat的一个扩展功能
conf Mycat 配置信息,重点关注
lib Mycat引用的jar包,Mycat是java开发的
logs 日志文件,包括Mycat启动的日志和运行的日志。
Mycat的配置文件都在conf目录里面,这里