Master server:
创建复制账户
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO slave@'192.168.50.23'IDENTIFIED BY 'password123';
slave为账户名,只允许192.168.50.23连接,密码password123
My.cnf中加入
server_id=1
log_bin=binlog
重启Master,输入:
SHOW MASTER STATUS;
Slave server:
log_bin=binlog
server_id=2
relay_log=mysql-relay-bin
log_slave_updates=1
# read_only=1
# read_only=1加了会导致无法同步
重启Slave,输入:
CHANGE MASTER TO MASTER_HOST='192.168.50.22';
-- 192.168.50.22为Master的IP地址或hostname.
CHANGE MASTER TO MASTER_USER='slave';
CHANGE MASTER TO MASTER_PASSWORD='password123';
CHANGE MASTER TO MASTER_LOG_FILE='binlog.000005';
-- binlog.000005为在Master上执行SHOW MASTER STATUS查看到的File列下的内容,即为Master的binlog日志
CHANGE MASTER TO MASTER_LOG_POS=0;
START SLAVE;
SHOW SLAVE STATUS\G
warning
因为没设置Slave server为read only,所以千万不要改Slave server的内容,任何内容都不能改,Slave server只能用来读,否则可能会导致ERROR 1062,然后停止主从同步。当然,可以设置Slave server为read only,不过会导致其他的问题。