互为主从均需要执行以下命令
修改配置文件
修改增加/etc/my.cnf文件
[mysqld]
# 设备唯一ID,不能相同
server-id = 100
# 启动二进制日志
log_bin = mysql-bin
gtid_mode = ON
enforce_gtid_consistency = true
# 设置不要复制的数据库(可设置多个)根据实际情况打开
# binlog-ignore-db=sys
# binlog-ignore-db=mysql
# binlog-ignore-db=performance_schema
# 设置需要复制的数据库(可设置多个)根据实际情况打开
# binlog-do-db=test
server-id:设置服务器的唯一标识符。
log_bin:启用二进制日志记录。
gtid_mode:启用 GTID 模式。
enforce_gtid_consistency:强制 GTID 一致性。
修改之后重启mysql服务
systemctl restart mysql
添加同步账户
两端登录mysql执行命令
CREATE USER 'replication'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; -- 创建同步账号
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; -- 赋予账号复制权限
FLUSH PRIVILEGES; -- 刷新权限
查看master状态
SHOW MASTER STATUS; -- 查询Master状态,并记录 File 和 Position 的值
配置数据库
CHANGE MASTER TO
MASTER_HOST='192.168.11.106', -- 主服务器的IP,既对端ip
MASTER_USER='replication', -- 主服务端的用户名
MASTER_PASSWORD='123456', -- 主服务端的密码
MASTER_LOG_FILE='mysql-bin.000001', -- 替换为主服务器File的值
MASTER_LOG_POS=859; -- 替换为主服务器Position的值
START SLAVE; -- 启动从服务
SHOW SLAVE STATUS\G; -- 查看从服务状态
如果Slave_IO_Running | Slave_SQL_Running都为yes,则表示从服务已经启动成功
如果启动失败,则查看错误信息,错误信息在Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error 这几个字段中
评论区