MySql主从双向复制配置
1.分别修改主从节点的mysql数据库配置
vim /etc/my.cnf
#主(备)
server-id = 1 #(backup这台设置为2)
log-bin=mysql-bin
binlog-ignore-db = mysql,information_schema #忽略写入binglog日志的库
log-slave-updates = 1 #从库的写操作记录到bin-log
expire_logs_days = 10 #日志过期天数
auto-increment-increment = 2 #字段变化增量值
auto-increment-offset = 1 # 初始字段ID为1, (备用库为2)
slave-skip-errors = all
分别重启mysql
service mysqld restart
2.为主从数据库分配权限
连接主数据库,为从数据库分配权限
mysql -u root -p
GRANT REPLICATION SLAVE ON *.* TO 'root'@'从数据库IP' IDENTIFIED BY '从数据库密码'; flush privileges;
连接从数据库,为主数据库分配权限
mysql -u root -p GRANT REPLICATION SLAVE ON *.* TO 'root'@'主数据库IP' IDENTIFIED BY '主数据库密码'; flush privileges;
3.配置主从双向复制
分别在主数据库与从数据库执行以下命令
show master status;
在主数据库执行以下命令
change master to master_host='从数据库IP', master_user='root', master_password='从数据库密码', master_log_file='mysql-bin.000001', master_log_pos=197271;
*master_log_file与master_log_pos以在从库查询的数据为准
在从数据库执行以下命令
change master to master_host='主数据库IP', master_user='root', master_password='主数据库密码', master_log_file='mysql-bin.000001', master_log_pos=154;
*master_log_file与master_log_pos以在主库查询的数据为准
4.主从数据库分别执行
start slave;
To the world you may be one person, but to one person you may be the world