一、安装docker、设置docker 固定ip
详细看我这两篇篇文章
二、安装主mysql_master、从mysql_slaver
1、在docker下载mysql镜像 命令 docker pull mysql
2、创建mysql容器 命令
docker run -p 3339:3306 --net mynetwork --ip 172.18.0.10 --privileged=true --restart=always --name mysql_master -e MYSQL_ROOT_PASSWORD=Abc@123 -d mysql
docker run -p 3340:3306 --net mynetwork --ip 172.18.0.11 --privileged=true --restart=always --name mysql_slaver -e MYSQL_ROOT_PASSWORD=Abc@123 -d mysql
3、为主mysql创建同步用户(远程连接用户)
进入容器 命令 docker exec -it 容器编号 bash
登录mysql 命令 mysql -uroot -p
创建远程连接用户 命令 CREATE USER 'sa'@'%' IDENTIFIED WITH mysql_native_password BY 'Abc@123';
开启远程用户连接权限 命令 GRANT ALL PRIVILEGES ON *.* TO 'sa'@'%'
二、配置主mysql_master、从mysql_slaver下 /etc/mysql/my.cnf文件
1、进入主从mysql容器 命令 docker exec -it 容器编号 bash
2、安装主从mysql容器vim 命令 apt-get update 命令 apt-get install vim
3、进入主从mysql配置目录 命令 cd /etc/mysql
主库 my.cnf配置
[mysqld]
server-id=100 #key唯一
log-bin=mysql-bin #主二进制日志
从库 my.cnf配置
[mysqld]
server-id=101 #key唯一
log-bin=mysql-slave-bin #从二进制日志
relay_log=edu-mysql-relay-bin #读取日志
三、查看主mysql_master配置信息,设置从mysql_slaver同步配置
1、查看主库配置信息 mysql 命令 show master status;
注意:记住 File 、Position值,期间数据库不要任何操作,否则会变
2、设置从库
配置 mysql命令 change master to master_host='172.18.0.10', master_user='sa', master_password='Abc@123', master_port=3306, master_log_file='mysql-bin.000006', master_log_pos= 1156, master_connect_retry=30;
启动 mysql命令 start slave;
查看 mysql命令 show slave status \G;
如果Slave_IO_Running 、Slave_SQL_Running 都为Yes ,那就主从同步成功,没有看Last_Error提示,一般都是连不上错误,注意配置IP、端口、密码等是否正确