我的目标是实现两台或者多台MYSQL相互同步,现在用两个电脑做测试,另一台是新装的PC(windows server 2003,成为A主机,IP=192.168.1.150),一台是笔记本(XP系统,称为B主机,IP=192.168.1.10),经过一天的折腾,现在的情况应该和所有资料上提供的最终成功状态是查不都了,但是,还是不能成功同步,请老手指点一下; 先说配置:
A主机的My.ini文件最后的内容:#同步参数设置server-id=1
log-bin=C:hobcmsdatamysqllog
binlog-do-db=MY_DATA1
log-slave-updates
master-host=192.168.1.10
master-user=root
master-password=26202122
replicate-do-db=MY_DATA1
master-connect-retry=20
slave-skip-errors=allB主机的My.ini文件最后的内容:#同步参数设置server-id=2
log-bin=C:hobcmsdatamysqllog
binlog-do-db=MY_DATA1
log-slave-updates
master-host=192.168.1.150
master-user=root
master-password=26202122
replicate-do-db=MY_DATA1
master-connect-retry=20
slave-skip-errors=allA机查询的状态:
mysql> show master status;mysql> show slave status;B机查询的状态:
mysql> show master status;mysql> show slave status;
从上的信息来看,基本只有一点点地差异,不知道这是否为问题原因之所在。其他信息:
两台主机的防火墙全部关闭,用telnet 192.168.1.150 3306,telnet 192.168.1.150 3306,都有信息返回,然后提示跟主机失去联系,应该是通的。请高手或者有经验的老鸟帮帮忙哈。

解决方案 »

  1.   

    补充,笔记本名称是rockypc,台式机的名称是rockyserver,所以,安装数据库的时候,数据库日志就是直接使用计算机名称开始命名了,呵呵,我不知道怎么可以修改或者设置这个东西;后来在my.ini添加了同步信息,重新启动后,经过一番折腾(同步两个数据库的log指针),后来就成了上面的情况了。但是,数据库还是不能同步,我在一边添加了信息,另一边毫无反应。5555555555555555555555555
      

  2.   

    使用 show processlist\G 指令查询
    显示状态正常,
    在一边添加数据后,
    再用show processlist\G,指令查询
    另一台服务器也有反应,但是数据库的内容没有同步。什么原因呢??
      

  3.   

    检查一下BINLOG中的信息是否存在。
      

  4.   


    我现在换了一种简单的主从同步,即不再循环同步,也存在问题:
    所有显示的状态都正常,但是数据库内的数据没有更新,好像全部都在relay-log里面。
    主服务器:show master status; 正常
    show processlist\G  正常(有Binlog Dump进程)从服务器show master status; 正常(跟这个本身应该没有关系)
    show slave status;  正常 (I/O正常,SQL正常)
    show processlist\G  正常,但是,ID=15进程,time=86349,算下来差不多24个小时了,即这24个小时都在同步,但是,没有写到数据库里面去。问题可能就出在这里。
      

  5.   

    现在问题应该比较清楚了,但是查不出来原因。现在情况是:我打开了MYSQL的日志功能,发现,SLAVE的确会把收到MASTER的数据按时提交(MASTER那边有个定时30秒更新的设备信息接入),在SLAVE机器上,从日志可以看到,每30秒有提交的动作,但是没有返回值,事实上,数据库里面的东西没有被更新。
    日志部分内容如下:091206 17:26:41     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:27:11     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:27:41     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:28:20     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:28:50     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:29:20     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:29:50     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:30:20     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:30:50     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:31:20     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:31:50     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:32:20     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */
    091206 17:32:49     2 Query BEGIN
        2 Query COMMIT /* implicit, from Xid_log_event */现在的问题就是:提交是否可以找到返回值?因为没有报错,所以,无法查找问题之原因。
    亟盼高手指点。
      

  6.   

    COMMIT是没有返回值的。 要不COMMIT, 要不ROLLBACK!
     你的配置没什么大的异常。