主-----------------------------------------------------------------
1,安装并挂在容器
docker run --privileged=true --name=mysql7-master -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker_data/mysql7-master:/var/lib/mysql -d mysql:5.7
2,拷贝容器中的mysql.cnf到root目录下
docker cp mysql7-master:/etc/mysql/conf.d/mysql.cnf /root
3,修改配置文件
vi mysql.cnf
4,拷贝到里面
[mysqld]
log-bin=mysql-bin
server-id=1
5,在拷贝会容器中
docker cp /root/mysql.cnf mysql7-master:/etc/mysql/conf.d/
6,重启容器
docker restart mysql7-master
7,进入主mysql
docker exec -it mysql7-master bash
8,登录mysql
mysql -u root -p123456
9,创建账号
create user 'slavecopyuser'@'%' identified with mysql_native_password by 'copy123456';
10,给用户授权
grant replication client,replication slave on *.* to 'slavecopyuser'@'%';
11,刷新配置
flush privileges;
12,查看mysql的地址值,记录file 以及position
show master status;
从库配置--------------------------------------------------------------------------
1,安装mysql并挂在
docker run --privileged=true --name=mysql7-slave -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker_data/mysql7-slave:/var/lib/mysql -d mysql:5.7
2,拷贝容器中的mysql.cnf配置到root目录下
docker cp mysql7-slave:/etc/mysql/conf.d/mysql.cnf /root
3,修改配置文件
vi mysql.cnf
4,拷贝到配置文件
[mysqld]
log-bin=mysql-bin
server-id=2
5,将root目录下的配置文件拷贝回容器中
docker cp /root/mysql.cnf mysql7-slave:/etc/mysql/conf.d/
6,重启mysql容器
docker restart mysql7-slave
7,进入mysql容器
docker exec -it mysql7-slave bash
8,登录mysql
mysql -u root -p123456
9连接到master主服务器
change master to master_host='192.168.1.155',master_user='slavecopyuser',master_password='copy123456',master_log_file='mysql-bin.000001',master_log_pos=785;
10,启动连接
start slave;
11,查看是否复制成功
show slave status\G;
2个yes成功配置
**
注:定期检查主从配置连接情况…
**
相关连接参考
https://blog.csdn.net/wsjzzcbq/article/details/117474597?utm_source=app&app_version=4.10.0