假设条件:
1 主库 ip 地址:192.168.157.128
2 从库 ip 地址:192.168.157.129
3 两台服务器 mysql 的 3306 端口互通,账号 root,密码 root

操作步骤:

一、主库配置

打开配置文件my.ini,添加如下配置项:

[mysqld]
#多个mysql数据库的 server-id 不能相同
server-id=1
#日志文件的名称
log-bin=mysql.bin
#要同步的数据库名称
binlog-do-db=demo
#30天时间自动清理二进制日志
expire_logs_days=30
#不需要同步的数据库名称
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_schema
#错误日志的文件名称
log-error=”WIN-128.err”

配置好之后,重启主库服务

——————————————

二、从库配置

[mysqld]
server-id=2
log-bin=mysql-bin
expire_logs_days=30

配置好之后,重启从库服务

——————————————

三、主库执行 sql 语句

授权从库的 root 账号,可以到主库这边同步数据
grant replication slave on *.* to ‘root’@’192.168.157.129’ identified by ‘root’;

使授权生效
flush privileges;

主库锁表,然后备份数据库
flush tables with read lock;

运行 show master status 语句,显示主服务器的状态信息,并且找到File 和 Position 的值记录下
假设 File 为 mysql.000001 Position为 154

——————————————

四、从库执行 sql 语句

#将主库备份的数据库,还原到从库中,数据库名称保持跟主库一致。

#授权从库本地的 root 用户可以进行数据同步的权限
grant all privileges on *.* to ‘root’@’%’ identified by ‘root’ with grant option;

使授权生效
flush privileges;

#查看一下 主库 和 从库 data 目录下的 auto.cnf 中的 server-uuid值,确保两个 uuid 值不相同,如果相同的话,更改其中一个即可。
如果修改了uuid值,则需要重启MySql服务

#设置从库到主库进行数据同步
change master to master_host=’192.168.157.128′,master_user=’root’,master_password=’root’, master_log_file=’mysql.000001′,master_log_pos=154;

#运行 Start Slave 语句,让从库开始从主库,进行数据同步。

#从库运行 show slave status 语句,查看从库的同步状态。
如果发现 Slave_IO_Running: Yes Slave_SQL_Running: Yes 说明配置成功。

——————————————

五、主库运行 sql 语句

unlock tables 解锁所有表,允许读写,这个很重要。

 

版权声明:本文为maheihei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/maheihei/p/14807926.html