mysql几个主从同步的疑问:1、主从同步的步骤,先将master上的所有表锁死 FLUSH TABLES WITH READ LOCK,然后再记录 show master status的pos位置,再导出 master 的上数据库的数据,导出完毕之后再执行 unlock tables 解锁。是这样吗?如果是这样,执行完毕 FLUSH TABLES WITH READ LOCK,网站就无法访问了,一直在等待,最后502。
但如果不这样,在执行完show master status之后,记下了pos位置,再执行 导出master的数据库,这个过程master中数据库一直在读写操作,pos位置也会在不断往前推进?那导出时候的位置其实已经变化了,再导入到slave的数据库中,开启slave之后就会同步提示 duplicate entry key。
2、在master上开启bin-log记录的是所有的数据库的,但是slave上只需要同步来 某个数据库的,这个时候如何在 slave上指定需要同步的数据库。STOP SLAVE;
SET GLOBAL replicate_do_db = "mydb1,mydb2";
SET GLOBAL replicate_wild_ignore_table = "mydb1.local_%";
START SLAVE;流量的耗费是否会是 slave还是去从master上拿出所有的bin-log来同步,还是只拿 对应这几个db的 bin-log来同步(在master上就已经做筛选了?)以上理解错误的地方,指正一下。