MySql在Windows下配置互为主从机
两台数据库服务器101和102,配置既是主数据库又是从数据库的方法如下:
配置前提:
1、数据库数据必须同步,如果数据不一致,需要先从101上导库下来同步到102的库中
2、确保101和102能互相访问3306端口
3、用户 root 存在并有读写和访问日志文件权限,可参考下述命令
(GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';)
第一步、修改My.ini(要保证server-id不能相同),修改后需要重启数据库
101的配置文件修改如下:
新增:
binlog-do-db =数据库名
replicate-do-db=数据库名
102的配置文件修改如下:
1、修改server-id=2
2、新增
binlog-do-db =数据库名
replicate-do-db=数据库名
第二步、配置101为从机,102为主机
1、在102上执行SQL: show master status
显示内容见图1:
记录显示的内容:
File: JIEKOU-2-bin.000003
Position: 155
2、在101上执行
1)停止当前的从主关系:stop slave;
2)设置主机:CHANGE MASTER TO MASTER_HOST = 'X.X.X.102', MASTER_USER = 'root', MASTER_PASSWORD = 'password',MASTER_PORT = 3306,MASTER_HEARTBEAT_PERIOD = 10000, MASTER_LOG_FILE='JIEKOU-2-bin.000003', MASTER_LOG_POS= 155;
注意红色部分为第一步显示的内容
3)启动从主关系:start slave;
4)检查是否配置成功:show slave status
结果见图:
注意这几个属性:
Slave_IO_State : Connecting to master
Slave_IO_Running: Connecting
Slave_SQL_Running:YES
如果不正确,请检查用户权限或网络
5)重启数据库
3、参考2的步骤,在102上配置主数据库为101
结束。。。。