新梦想网络 > 客服中心 > 数据库问题 > 正文缩放字号: [收藏本问题]

MYSQL实现两台服务器实时同步

时间:2013-05-27来源:蓝木网络 作者:蓝木网络 点击:

Mysql的实时同步 - 双机互备.

设置方法:
步一 设
A 服务服 (192.168.1.43) 上 用户为 root, root3306, 同步的数据库为test;  (root用户需要开启远程)
B 服务服 (192.168.1.23) 上 用户为 root, root3306, 同步的数据库为test;  (root用户需要开启远程)

步二 配置 mysql.ini: 
A服务器

#Replication master
server-id = 10
log-bin="D:/SOFT_PHP_PACKAGE/mysql/logs/mysql_binary_log"   #日志存放路径 创建一个logs即可
binlog-do-db=test                                                  #同步的数据库名

# Replication slave
master-host="192.168.1.23"                                  #填写B服务器IP地址
master-user=root                                                    #帐号为B服务器帐号
master-password=root3306                                   #帐号为B服务器数据库密码
master-port=3306
master-connect-retry=60
replicate-do-db=test

B服务器

#Replication master
server-id = 2
log-bin="D:/SOFT_PHP_PACKAGE/mysql/logs/mysql_binary_log" 
binlog-do-db=test

# Replication slave
master-host="192.168.1.43"                           #填写A服务器IP地址
master-user=root                                             #帐号为A服务器帐号
master-password=root3306                           #帐号为A服务器数据库密码
master-port=3306
master-connect-retry=60
replicate-do-db=test

 

注意:两台服务器 server-id  不能相同

查看状态 及调试

1,查看master的状态
SHOW MASTER STATUS;
Position 不应为0
2,查看slave的状态
show slave status;
Slave_IO_Running | Slave_SQL_Running 这两个字段 应为 YES|YES.
show processlist;
会有两条记录与同步有关 state为 Has read all relay log; waiting for the slave I/O thread to update it
和s Waiting for master to send event .
3,错误日志
MySQL安装目录/data/Hostname.err

4,CHANGE MASTER TO
如果A 的 Slave 未启动 ,Slave_IO_Running 为No.
可能会是B的master 的信息有变化,
查看B SHOW MASTER STATUS;
记录下 File,Position 字段. 假设为'mysql_binary_log.000004',98 ;
在A 下执行:(曾经我在这一步没有操作)
Stop Slave;
CHANGE MASTER TO
MASTER_LOG_FILE = 'mysql_binary_log.000004',
MASTER_LOG_POS = 98 ;

Start Slave;

    TAG:

    下载此文章 (欢迎转载,请注明出处:http://www.xmxwl.net/help/database/20130527/13081.html)