主库:mysql
- 修改配置文件sql
'binlog-do-db = test' 仅记录'test'库,用来作数据同步。 'binlog-ignore-db' 仅不记录'mysql',其余库数据均可以同步。 数据库同步规则表中互有冲突,建议仅使用一种规则配置多行数据库
vim /etc/mysqlvim
[mysqld] server-id = 10 log-bin=mysql-bin binlog-do-db = test binlog-ignore-db = mysql
- 重启mysql进程服务器
systemctl restart mysqld
- 建立同步账号rest
用户名:slave_user 账号可用范围:10.10.10.% 密码:123456code
mysql -uroot -p -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'slave_user'@'10.10.10.%' IDENTIFIED BY '123456';"
- 检查服务器配置及运行状态server
记录'File'以及'Position'的值,从库配置同步节点需用。进程
mysql -uroot -p -e "show variables like 'server_id'" mysql -uroot -p -e "show master status"
从库:ip
- 修改配置文件
每一台主从服务器的'server-id'都不能够重复 'replicate-do-db = test' 仅同步'test'库 'replicate-ignore-db = mysql' 仅步同步'mysql'库 'replicate-wild-do-table = test.%' 仅同步'test'库中全部表(如需指定表,将通配符'%'更换成表名称)。 'replicate-wild-ignore-table = mysql.%' 仅不一样步'mysql'库中全部表(如需指定表,将通配符'%'更换成表名称)。 'slave-skip-errors = all' 同步过程当中,忽略全部错误。 数据库同步规则表中互有冲突,建议仅使用一种规则配置多行
vim /etc/mysql
[mysqld] server-id = 11 log-bin = mysql-bin replicate-do-db = test replicate-ignore-db = mysql replicate-wild-do-table = test.% replicate-wild-ignore-table = mysql.% slave-skip-errors = all
- 重启mysql进程
systemctl restart mysqld
- 建立从库与主库的同步关系
mysql -uroot -p > stop slave ; > change master to master_host='10.10.10.10',master_port=3306,master_user='slave_user',master_password='123456',master_log_file='mysql-bin.000001' ,master_log_pos=154; > start slave ;
- 检查从库是否同步成功
'Slave_IO_Running: Yes' (负责与主库同步IO通讯) 'Slave_SQL_Running: Yes' (负责自身slave mysql进程)
mysql -uroot -p -e "show slave status \G"