关于mysql主从复制的潜在问题,很有意思

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

作者: chengleibing   发布时间: 2011-05-18

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

作者: rucypli   发布时间: 2011-05-18

在线备份,当你在从机上还原的时候还要时间呀,这个时间也会丢数据的~

作者: chengleibing   发布时间: 2011-05-18

SQL code

/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,让从机去追主机的数据,不会丢失数据的!

作者: yananguo_1985   发布时间: 2011-05-18

引用 3 楼 yananguo_1985 的回复:
SQL code

/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,……

1

作者: rucypli   发布时间: 2011-05-18

引用 3 楼 yananguo_1985 的回复:
SQL code

/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,……


能不能把这个语法详细解释一下,谢谢你

作者: chengleibing   发布时间: 2011-05-18

引用 4 楼 rucypli 的回复:
引用 3 楼 yananguo_1985 的回复:
SQL code

/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数据
……


能不能把这个语法详细解释一下,谢谢你~

作者: chengleibing   发布时间: 2011-05-18