概要说明
mysql基于docker-compose进行安装,使用服务器(局域网)
Master1:192.168.100.1
Master2:192.168.100.2
Slave:192.168.100.3
异构数据同步配置说明
安装docker
安装dosker-compose
-
Docker相关操作,安装部分进行单独管理,在服务器新建相关管理目录
a) /usr/local/docker/mysql
b) mysql下新建目录master(/usr/local/docker/mysql/master)用于挂载mysql配置和数据相关文件,防止docker重启数据丢失
c) 新建docker-compose.yml文件,内容如下:
注意,镜像一定指定版本,不要使用last
d) 在master/conf/mycnf目录下新建文件 my.cnf,此文件为多数据库配置关键文件,配置如下:
e) 启动镜像(需在当前目录下,含yml文件)
docker-compose up –d
以上命令是yml文件名称为docker-compose的情况下使用,使用其他名称,需要加-f,如:docker-compose –f mysql.yml up –d
注:可以先docker-compose up启动,此时可以查看启动日志,看是否存在问题,确认成功后加 –d ,含义为后台运行
master1和master2都为以上配置
-
slave配置
a) mysql安装配置一致
b) 挂载目录不同
/usr/local/docker/mysql/slave
,目录为slave,其余目录都一致,配置和数据在slave目录下c) 在slave/conf/mycnf目录下新建文件 my.cnf,此文件为多数据库配置关键文件,配置如下:
d) 启动docker镜像
-
mysql设置主从相关数据权限和配置(内部配置)
a) 进入mysql容器
docker exec –it mysql bash
b) 登录mysql
mysql –uroot -proot
c) master 相关配置命令
新建用户并设置权限(该用户用于主从复制)
grant replication slave on *.* to 'slave'@'%' identified by '123456';
d) 刷新mysql权限
flush privileges;
e) 主从复制有两种模式,binlog模式 和 GTID模式,两种模式都可以完成复制,此处采用GTID模式,并以此说明,binlog模式有需要了解可以@me
f) 采用GTID模式,master配置即完成
g) Slave配置
命令:
change master to master_host='192.168.100.221',master_port=3306,master_user='slave', master_password='123456',master_auto_position = 1 for channel 'master-3';
h) 开启主从复制模式
start slave for channel master-3;
i) 查看主从同步状态是否成功
show slave status\G;
只有【Slave_IO_Running】和【Slave_SQL_Running】都是Yes,则同步是正常的。
如果是No或者Connecting都不行,可查看mysql-error.log,以排查问题。