这几天在测试MySQL数据库的复制,从网上找了一些资料,然后开始测试在本机建了3个Windows服务MySQL-Master / MySQL-Slave1 / MySQL-Slave2, server-id分别1,2,3,现在基本上已经实现了在MySQL-Master上添加/修改/删除数据,Slave1/Slave2数据会同步更新。
问题,1)
#启用从库日志,这样可以进行链式复制
log-slave-updates这个是啥意思?2)
#从库是否只读,0表示可读写,1表示只读
read-only=1Slave上的数据不允许修改,是否这个设置这个参数,成功后,不能通过客户端软件直接修改数据?3)
#replicate-do-db=MyData1
#replicate-do-db=MyData2
#replicate-do-db=MyData3只想在MyData1/MyData2/MyData3上做复制,是否这么设置?4)
#relay-log-purge=1
#report-host=hostname请帮忙解释这两个参数的含义,relay-log-purge=1是指清除Slave上的Log么?

解决方案 »

  1.   

    1)
    #启用从库日志,这样可以进行链式复制
    log-slave-updates这个是啥意思?是的,你的解释是对的,否则SLAVE不会将来处MASTER的更新操作记录到SALVE自身的BIN-LOG中。这样就无法链式更新了。把这个参数设上,当MySQL-Master的更新通过BINLOG传到MySQL-Slave1,MySQL-Slave1会记录到本机的BIN-LOG中,这样MySQL-Slave2也可以通过得到MySQL-Slave1的BIN-LOG来进行同步更新。
    2)
    #从库是否只读,0表示可读写,1表示只读
    read-only=1Slave上的数据不允许修改,是否这个设置这个参数,成功后,不能通过客户端软件直接修改数据?

    是的,一般来说,不允许Slave进行修改的。否则会导致Slave上的数据可能和MASTER不一致。
    3)
    #replicate-do-db=MyData1
    #replicate-do-db=MyData2
    #replicate-do-db=MyData3只想在MyData1/MyData2/MyData3上做复制,是否这么设置?

    是的。