percona-mysql5.7配置主从

主库:

- 修改配置文件

 'binlog-do-db = test' 仅记录'test'库,用来做数据同步。
 'binlog-ignore-db' 仅不记录'mysql',其他库数据都可以同步。
 数据库同步规则表中互有冲突,建议仅使用一种规则配置多行

vim /etc/mysql

[mysqld]
server-id = 10
log-bin=mysql-bin
binlog-do-db = test
binlog-ignore-db = mysql

- 重启mysql进程

systemctl restart mysqld

- 创建同步帐号

 用户名:slave_user
 帐号可用范围:10.10.10.%
 密码:123456

mysql -uroot -p -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'slave_user'@'10.10.10.%' IDENTIFIED BY '123456';"

- 检查服务器配置及运行状态

 记录'File'以及'Position'的值,从库配置同步节点需用。

mysql -uroot -p -e "show variables like 'server_id'"
mysql -uroot -p -e "show master status"

从库:

- 修改配置文件

 每一台主从服务器的'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"

猜你喜欢

转载自www.cnblogs.com/taoyuxuan/p/11732132.html
今日推荐