大家好:
      一般做mysql的主从复制,都要对主机加锁来保持主机和从机的数据库一样,现在我们单位的数据库是全球性的,而且insert的语句特别多,也很经常,现在要做个M-S主从,对主机不能加索,如果加读锁的话就会影响用户的使用,也不能在晚上2,3点去加锁,他是全球性的。
      我在网查找资料好像没有这种不加读锁去做mysql的m-s复制的,我以前做oracle,他是把整个日志共享,现在想问问大家有没有好的方法让mysql的m-s复制,主机不加读锁,或者加读锁,让(insert)数据丢失的最少?
      谢谢大家~

解决方案 »

  1.   

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

  2.   


    /usr/local/mysql/bin/mysqldump  --single-transaction --master-data=2 -A --flush-logs | gzip > /data/PRS-DB-01_all.sql.gz
    --master-data里面记录了change master数据先在从机还原,然后change master,让从机去追主机的数据,不会丢失数据的!
      

  3.   

    --master-data=2 CHANGE MASTER语句被写成SQL注释
      

  4.   

    麻烦你写一个完整的一句语句,master-data=2 -A  代表什么
      

  5.   

    没有记错的话,,slave stop;
    load data from master;
    可以直接将主服务器的全部数据搞过来。。