Docker搭建Mysql5.6配置主从数据库
- Master 主库
- Slave 从库
Master的MySQL导出SQL
通过mysqldump命令导出数据库SQL文件
mysqldump -uroot -p --all-databases --lock-all-tables > /root/master_5.6_db.sql |
上述命令报错可指定-h 127.0.0.1 -P 3306在尝试
mysqldump -h 127.0.0.1 -P 3306 -uroot -po8oxpClXxNI3vQQjY65e --all-databases --lock-all-tables > /root/master_5.7_db.sql |
- -p 后拼接密码(若不拼接,则确认命令后在输入密码即可)
指定数据库导出SQL用法
mysqldump -h 127.0.0.1 -P 3306 -uroot -po8oxpClXxNI3vQQjY65e --databases db01 db02 --lock-all-tables > /root/master_5.7_new_db.sql |
- db01 数据库
- db02 数据库(多个数据库,空格隔开)
备注:在slave服务器恢复时,需要上述db库已存在,若单个db库则需要指定use
dbName在进行source /root/db.sql操作
Slave的MySQL导入并执行SQL
登录mysql
mysql -uroot -pxxx |
执行还原SQL命令
source /root/master_db.sql |
配置Master的MySQL的my.cnf
[mysql] |
配置Slave的MySQL的my.cnf
[mysql] |
配置Master数据库
授权Slave从库对Master主库的可读复制权限
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%' IDENTIFIED BY 'GrantT^Slave130'; |
repl账号GrantT^Slave130密码
刷新Master主库权限
flush PRIVILEGES |
刷新日志文件
flush logs; |
获取Master主库的bin-log日志及日志点位置
show master status; |

配置Slave数据库
停止从库
第一次配置是不需要,若中途发生错误
start slave,则后续需要停止在重新开始。
stop slave |
登录Slave从库的控制台
mysql -uroot -p |
配置Master节点信息
CHANGE MASTER TO MASTER_HOST='192.168.0.121',MASTER_USER='repl',MASTER_PASSWORD='GrantT^Slave130',MASTER_LOG_FILE='mysql-bin.000020',MASTER_LOG_POS=154; |
- MASTER_USER 主库配置Slave的账号
- MASTER_PASSWORD 主库配置Slave的密码
- MASTER_LOG_FILE 主库日志文件
- MASTER_LOG_POS 主库日志数据当前位置
启动Slave从库同步Master主库命令
start slave |
查看主从库同步状态(从库执行)
show slave status \G; |


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Think Note!