mysqldump同步数据到生产的注意事宜都有哪些
发布时间:2022-01-13 14:25:00 所属栏目:MySql教程 来源:互联网
导读:这篇文章将为大家详细讲解有关mysqldump同步数据到生产的注意事项都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 1.如果需要从一个实例把数据倒进另一个生产的实例,那么需要注意:使用一下
这篇文章将为大家详细讲解有关mysqldump同步数据到生产的注意事项都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 1.如果需要从一个实例把数据倒进另一个生产的实例,那么需要注意:使用一下语句dump出来! mysqldump -uroot -p -t --single-transaction=true --skip-disable-keys=false --add-locks=false --set-gtid-purged=off -B liuwenhe --tables r >/data/backup/r.sql 注释: 1)--set-gtid-purged=false 结果文件中不加 SET @@GLOBAL.GTID_PURGED,防止执行报错,因为reset master后才能执行SET @@GLOBAL.GTID_PURGED! 2)--skip-disable-keys=false 关闭ALTER TABLE `r` DISABLE KEYS这类的关闭索引键操作,否则线上可能索引失效!影响业务 3)--set-gtid-purged=false 结果文件中不带 SET @@SESSION.SQL_LOG_BIN= 0; 也就是说要写binlog,否则不能同步到从库! 4)--add-locks=false 不加 LOCK TABLES `acct_loan` WRITE; 尤其注意这个,lock之后,只能这个session来操作这个表,并且这个session还不能操作别的表,别的session不能操作该表,具体实验过程:(pxc和简单的主从是一样的效果!) (实验1 关于 lock tables r write: 会话1: root@localhost : liuwenhe 18:33:01>LOCK TABLES r WRITE; Query OK, 0 rows affected (0.00 sec) root@localhost : liuwenhe 18:33:03>insert into r values (1000); #可以操作r表,也可以查看 Query OK, 1 row affected (0.00 sec) root@localhost : liuwenhe 18:33:09>insert into t values (1000); #该session不可以操作t表 ERROR 1100 (HY000): Table 't' was not locked with LOCK TABLES root@localhost : liuwenhe 18:33:15>select count(*) from t; #该session不可以查询别的表 ERROR 1100 (HY000): Table 't' was not locked with LOCK TABLES) 会话2: root@localhost : liuwenhe 19:04:33>select count(*) from r; #查询等待, root@localhost : liuwenhe 18:39:21>insert into r values(10); #dml等待,发现其他session不能操作session1 锁定的表! root@localhost : liuwenhe 18:41:36>delete from yy2; #发现会话2可以操作别的表 Query OK, 3 rows affected (0.04 sec) oot@localhost : liuwenhe 19:05:32>select count(*) from yy2; 发现可读取r之外的表! 实验2 关于 lock table r read; (编辑:临夏站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐