1.修改my.cnf
Master配置
在[mysqld]下添加:
server-id=1
log_bin=master-bin
log_bin=index=master-bin.index
binlog_do_db=要同步的库名
bind-address=0.0.0.0 如远程可以链接 此行可以注释
Slave配置
在[mysqld]下添加
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
replicate-do-db=要同步的库名
2.进入master
输入
grant replication slave on *.* to masterbackup@'192.168.17.%' identified by '123456';
#备注
#192.168.17.%通配符,表示0-255的IP都可访问主服务器,正式环境请配置指定从服务器IP
#若将 192.168.17.% 改为 %,则任何ip均可作为其从数据库来访问主服务器
退出mysql,重启mysql服务
3.重新进入master
show master status;
记住File和Position,需要在slave里change的时候填写。
4.刚才已经填写了slave的my.cnf,直接重启slave的mysql服务
5.进入slave,连接master
输入命令
change master to master_host='192.168.17.130',master_port=3306,master_user='masterbackup',master_password='123456',master_log_file='master-bin.000001',master_log_pos=154;
#备注:
#master_host对应主服务器的IP地址。
#master_port对应主服务器的端口。
#master_log_file对应show master status显示的File列:master-bin.000001。
#master_log_pos对应show master status显示的Position列:154。
#启动slave数据同步
start slave;
查看slave状态
show slave statusG;
显示两个yes则为成功。
如果last_errno和last_error 有信息,则进行排错再重新配置slave。
重新配置slave步骤为:
stop slave
然后重新输入change那一条,再start slave。
参考文章:https://www.cnblogs.com/vania/p/11344458.html