Mysql主从同步配置
对于环境隔离,读写分离的情况,有些情况下我们需要用到mysql的主从同步。以下介绍如何使用docker创建一个主从同步的数据库服务
0. 环境假设
由于测试在本机创建两个数据库服务,因此以下ip都按master_ip,slave_ip代之用于区分,实际过程请按照实际情况填写
即
主数据库为 master_ip:3308
从数据库为 slave_ip:3309
1. 创建两个db,一个master监听3308,一个slave监听3309
1 | log-bin=mysql-bin以及server-id=1的设置可以通过my.cnf/my.ini配置修改,也可以通过docker启动mysql的命令行设置,注意修改my.cnf/my.ini配置后需要重启mysql |
2. 登陆主库master db,设置专门为slave建立的用户并赋予权限
1 | mysql -h master_ip -P 3308 -u root -p |
记录下最后SHOW MASTER STATUS
返回结果中的File和Position
注意 backup_password填自己设定的值即可,下面会用到
3. 登陆从库slave db,设置master的链接方式
1 | mysql -h slave_ip -P 3309 -u root -p |
这里注意一下backup_password需要填入第2步中设置的backup_password,MASTER_LOG_FILE以及MASTER_LOG_POS也是根据第2步中SHOW MASTER STATUS
返回设置的
设置成功时,SHOW SLAVE STATUS;
会返回 Slave_IO_Running 和 Slave_SQL_Running都是Yes即可