目前主服务器的数据大概有3G,我先把主服务器的数据导出,传到从服务器上导入,这个过程可能需要几十分钟时间,这期间主服务器还在不停有新数据写入。当从服务器上导完数据时,执行slave start,然后 show slave status\G,可以看到错误信息, Last_Error: Error 'Table 'CDN.traffic_191_t' doesn't exist' on query.这个表traffic_191_t确实是在导入数据期间新建的,我的理解是新建表的操作没在主服务器最新的二进制日志文件里 mysql-bin.****里,而同步时是同步最新这个日志文件,所以出错;
这个问题怎么解决?怎么在主服务器数据不断更新的同时同步主从数据?
请高手支招。

解决方案 »

  1.   

    导出的时候记住binlog位置mysqldump --single-transction -F --master-data=2 > xxx.sql导入到slave
    mysql  < xxx.sql接上master 上的binlog
    change master to master_host='',master_user='',master_password='',master_log_file='',master_log_pos=xxx其中master_log_file和master_log_pos在导出的xxx.sql里开头可以找到
    最后start slave
      

  2.   

    导出命令怎么用?需要指明某个数据库名***
    我原先用mysqldump -uroot -p *** > ***.sql来导数据库
    楼上大侠给的参数执行报错
    mysqldump: unknown option '--single-transction'
    我的mysql是5.1.45,linux系统
      

  3.   

    shell> mysqldump --single-transaction --all-databases > backup_sunday_1_PM.sql
    这是在线非块备份,不会干扰对表的读写。