在node1和node2上分别安装好mysql
node1: 10.133.35.93
node2: 10.133.35.94
登录node1并创建复制账号repl
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘repl’@’10.133.35.%’;
在node1上编辑 /etc/my.cnf 文件,增加两行
log_bin=mysql—bin
server_id=93
开启二进制日志和设置server_id(只能是数字,此处用IP地址后两位),然后重启mysqld, 用root账号登录进去,执行“SHOW MASTER STATUS”语句,检查输出是否与如下一致
mysql> SHOW MASTER STATUS;
+—————————————————+——————————+——————————————+——————————————————+———————————————————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+—————————————————+——————————+—————————————–+——————————————————+———————————————————+
| mysql—bin.000003| 1205 | blf_app | mysql |
+—————————————————+———————–——+————–————–————+—————————–————–———+———————————————————+
1 row in set (0.00 sec) ————————————————
在node2上编辑 /etc/my.cnf 文件,增加以下配置,然后重启mysqld
# 复制的数据库
binlog—do—db=blf_app
# 忽略复制的数据库
binlog—ignore—db=mysql
log_bin=mysql—bin
server_id=94
log_slave_updates=1
read_only=1
登录node2数据库,执行以下语句,让node2连接到node1,并重放其二进制日志
mysql> CHANGE MASTER TO MASTER_HOST=’10.133.35.93’, MASTER_USER=’repl’,MASTER_PASSWORD=’123456’, MASTER_LOG_FILE=’mysqlbin.000003’, MASTER_LOG_POS=1205;
执行成功后,再输入“SHOW SLAVE STATUS\G”检查配置是否正确,如下所示
mysql> start slave;
mysql> SHOW SLAVE STATUS\G;
***************** 1. row *****************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.133.35.93
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql—bin.000003
Read_Master_Log_Pos: 1205
Relay_Log_File: null
Relay_Log_Pos: 836
Relay_Master_Log_File: mysql—bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
1 row in set