配置Mysql主从复制
要同步的库:test_master_slave
1、Master节点配置
基本配置
vim /etc/my.cnf# 基本配置[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
Master节点主从配置
vim /etc/my.cnf# 添加主从复制部分配置,添加到[mysqld]下面server_id=1log-bin=mysql-binbinlog_format=MIXEDread-only=0binlog-do-db=test_master_slave# 如果有多个库需要同步,可以继续添加#binlog-do-db=test_master_slave2# 忽略mysql自带的库的同步replicate-ignore-db=mysqlreplicate-ignore-db=sysreplicate-ignore-db=information_schemareplicate-ignore-db=performance_schema
重启数据库
systemctl restart mysqld
2、Slave节点配置
基本配置
vim /etc/my.cnf# 基本配置[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
Slave节点主从复制配置
vim /etc/my.cnf# 添加主从复制部分配置,添加到[mysqld]下面server_id=2log-bin=mysql-binbinlog_format=MIXEDread-only=1binlog-do-db=test_master_slave# 如果有多个库需要同步,可以继续添加#binlog-do-db=test_master_slave2# 忽略mysql自带的库的同步replicate-ignore-db=mysqlreplicate-ignore-db=sysreplicate-ignore-db=information_schemareplicate-ignore-db=performance_schema
重启数据库
systemctl restart mysqld
3、为master授权用户来同步它的数据
# 使用mysql命令登录到master客户端mysql -uroot -p# 添加来同步数据的用户mysql> grant replication slave on *.* to 'backup'@'%' identified by 'Backup@123';# 查看master状态mysql> show master status\G;*************************** 1. row ***************************File: mysql-bin.000001Position: 724Binlog_Do_DB: test_master_slaveBinlog_Ignore_DB:Executed_Gtid_Set:1 row in set (0.00 sec)
4、配置slave同步
# 使用mysql命令登录到master客户端mysql -uroot -p# 设置主库连接change master to master_host='192.168.14.132',master_user='backup',master_password='Backup@123',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3306;# 启动从库同步start slave;# 查看从库状态show slave status\G;
