场景:
主服务器10.252.36.169
从服务器10.252.37.85

1.修改主服务器mysql配置,重启服务
sudo vim /etc/my.cnf
在[mysqld]下面加入

log-bin=mysql-bin

sudo service mysqld restart
2.创建用户+授权(若授权后,新账号远程登陆失败,尝试修改my.cnf中的修改my.cnf中的bind-address,并检查防火墙设置)

mysql -uroot -p
insert into mysql.user(host,user,password) values("localhost","slave1",password("mysql"));
flush privileges;
grant replication slave on *.* to slave1@10.252.37.85 identified by 'mysql';
show master status;

3.查看主服务器状态
tips:如果主服务器已经存在数据,则先执行锁定操作

flush tables with read lock;

导出数据到另一台机,查看状态

show master status

再解锁

unlock table;
master status

master status

4.修改从服务器同步,启动服务(其中master_log_file和master_log_pos来自于上面的master status)

mysql -uroot -p
change master to master_host='10.252.36.169',master_user='slave1',master_password='mysql',master_log_file='mysql-bin.000004',master_log_pos=4851;
start slave;

查看从服务状态(Slave_IO_Running和Slave_SQL_Running均为Yes时才正常)

show slave status;
slave status

slave status

Post Navigation