# test-mysql-master 容器# 设置字符集dockerexec-it test-mysql-master envLANG=C.UTF-8 /bin/bash
# 进入容器内的mysql命令行
mysql -uroot-proot# 修改默认密码校验方式
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';# test-mysql-slave1 容器dockerexec-it test-mysql-slave1 envLANG=C.UTF-8 /bin/bash
# 进入容器内的mysql命令行
mysql -uroot-proot# 修改默认密码校验方式
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';# test-mysql-slave2 容器dockerexec-it test-mysql-slave2 envLANG=C.UTF-8 /bin/bash
# 进入容器内的mysql命令行
mysql -uroot-proot# 修改默认密码校验方式
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
创建用户
# test-mysql-master 容器 操作即可dockerexec-it test-mysql-master envLANG=C.UTF-8 /bin/bash
mysql -uroot-proot# 创建 slave 用户
CREATE USER'dongdong'@'%';# 设置密码
ALTER USER'dongdong'@'%' IDENTIFIED WITH mysql_native_password BY 'root';# 赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'dongdong'@'%';# 刷新权限
FLUSH PRIVILEGES;
配置主从关系并启动
# 查看主服务器 二进制文件和偏移量dockerexec-it test-mysql-master envLANG=C.UTF-8 /bin/bash
mysql -uroot-proot
SHOW MASTER STATUS\G;
mysql> SHOW MASTER STATUS\G;
*************************** 1. row ***************************
File: binlog.000004
Position: 157
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row inset(0.00 sec)
ERROR:
No query specified
mysql># 配置主从# test-mysql-slave1 容器 操作dockerexec-it test-mysql-slave1 envLANG=C.UTF-8 /bin/bash
mysql -uroot-proot
CHANGE MASTER TO MASTER_HOST='192.168.224.128',
MASTER_USER='dongdong',MASTER_PASSWORD='root',MASTER_PORT=3306,
MASTER_LOG_FILE='binlog.000004',MASTER_LOG_POS=157;# 启动
START SLAVE;# 查看状态
SHOW SLAVE STATUS\G;# test-mysql-slave2 容器 操作dockerexec-it test-mysql-slave2 envLANG=C.UTF-8 /bin/bash
mysql -uroot-proot
CHANGE MASTER TO MASTER_HOST='192.168.224.128',
MASTER_USER='dongdong',MASTER_PASSWORD='root',MASTER_PORT=3306,
MASTER_LOG_FILE='binlog.000004',MASTER_LOG_POS=157;# 启动
START SLAVE;# 查看状态
SHOW SLAVE STATUS\G;