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;
会话1:
root@localhost : liuwenhe 18:45:38>
lock table r read;
Query OK, 0 rows affected (0.00 sec)
root@localhost : liuwenhe 18:47:17>select count(*) from t; #发现不可以读取r之外的表
ERROR 1100 (HY000): Table 't' was not locked with LOCK TABLES
root@localhost : liuwenhe 18:47:51>delete from t; #不可以操作r之外的表
ERROR 1100 (HY000): Table 't' was not locked with LOCK TABLES
root@localhost : liuwenhe 18:47:28>select count(*) from r; #可以读取r表
+----------+
| count(*) |
+----------+
| 5 |
+----------+
1 row in set (0.00 sec)
root@localhost : liuwenhe 18:47:39>insert into r values (10); #不可以操作r表
ERROR 1099 (HY000): Table 'r' was locked with a READ lock and can't be updated
会话2:
root@localhost : liuwenhe 18:53:02>delete from t limit 1; #会话2可以操作t表
Query OK, 1 row affected (0.01 sec)
root@localhost : liuwenhe 18:53:47>select count(*) from yy2; #会话2可以查看其它表
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
root@localhost : liuwenhe 18:54:29>delete from r; #等待,不能操作session1锁定的表r
root@localhost : liuwenhe 18:55:20>select * from r; #可以查看session1锁定表!
+------+
| id |
+------+
| 10 |
总结:
lock tables t write:当前会话能读写该表,但是不能读写其它的表;其它会话可以读写其它的表,但是不可以读写该表;
lock table r read: 当前会话只能能读该表,但是不能操作该表,也不能读写其它的表,其它会话可读但不可写该表,可读写其它的表)
编辑推荐:
- mysqldump同步数据到生产注意事项03-01
- pt-online-schema-change使用参数说明03-01
- pxc 三个节点全部异常和正常关闭的启动顺序03-01
- MySQL中InnoDB引擎对索引的扩展03-01
- MySQL 不同版本默认字符集03-01
- MySQL 修改int类型为bigint SQL语句拼接03-01
- mysql 库名大写导致大小写敏感参数报错03-01
- MYSQL_审计日志查看03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- MySQL 不同版本默认字符集
MySQL 不同版本默认字符集
26-03-01 - MYSQL_审计日志查看
MYSQL_审计日志查看
26-03-01 - MYSQL_备份恢复手段
MYSQL_备份恢复手段
26-03-01 - MGR8.0支持savepoint
MGR8.0支持savepoint
26-03-01 - Docker二所镜像制作
Docker二所镜像制作
26-03-01 - Mysql MHA部署-02主从复制
Mysql MHA部署-02主从复制
26-03-01 - MYSQL_架构之主从异步复制
MYSQL_架构之主从异步复制
26-03-01 - Mysql MHA部署-04MHA配置
Mysql MHA部署-04MHA配置
26-03-01 - Mysql MHA部署-03MHA软件安装
Mysql MHA部署-03MHA软件安装
26-03-01 - MYSQL_架构之主从GTID
MYSQL_架构之主从GTID
26-03-01
