- 下载并运行容器
docker pull mysql:5.7 sudo docker run --name mysql_write_1 -p 33061:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 sudo docker run --name mysql_read_1 -p 33062:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- 修改etc/mysql/my.cnf,因为这一步需要在mysql容器中安装vim还需要很多步骤,且要在多个mysql中安装,所以我采取在本机编写后复制黏贴覆盖掉原本的my.conf文件
[mysqld] log-bin=slave-bin server-id=2 # 设置需要复制的数据库(可设置多个) binlog-do-db=testdb
[mysqld] log-bin=slave-bin server-id=2 # 设置需要复制的数据库(可设置多个) binlog-do-db=testdb
docker cp C:Users28673Desktopmy.cnf mysql_write_1:etc/mysql docker cp C:Users28673Desktopmy.cnf mysql_read_1:etc/mysql
- 进入容器赋予权限
#进入容器 sudo docker exec -it mysql_write_1 bash #登录mysql mysql -u root -p123456 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改密码加密策略 flush privileges; #刷新权限 quit exit
#进入容器 sudo docker exec -it mysql_read_1 bash #登录mysql mysql -u root -p123456 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改密码加密策略 flush privileges; #刷新权限 quit exit
- 进入主服务器查询状态信息
#进入主服务器查看状态 show master status;
- 进入从服务器配置主从关系
master_log_file和master_log_pos是主服务器查询到的状态信息
#从服务器配置主从关系 change master to master_host='172.24.240.1',master_port=33061,master_user='root',master_password='123456', master_log_file='master-bin.000001',master_log_pos=154; #保存 start slave; #查看是否成功 show slave status G;



