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;
會話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: 當前會話只能能讀該表,但是不能操作該表,也不能讀寫其它的表,其它會話可讀但不可寫該表,可讀寫其它的表)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2682140/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PayPal將CRDT資料型別落實到生產環境資料型別
- 生產資料update沒加where條件(從執行到恢復)
- SpringBoot使用非同步執行緒池實現生產環境批量資料推送Spring Boot非同步執行緒
- Elasticsearch系列---生產資料備份恢復方案Elasticsearch
- 網易數帆資料生產力方法論
- 介面測試-使用 mock 生產隨機資料Mock隨機
- 介面測試-使用mock生產隨機資料Mock隨機
- Hadoop 2.0產生Hadoop
- 從專案到產品:生產線類比的終結
- 提高開發生產力 - 生產力指南篇(之一)
- 工廠生產資料實時分析,產品質量高效管控
- Redis快速產生測試資料的三種方法Redis
- 資料驅動的生產運營管理決策
- 高併發下如何避免產生重複資料?
- mediasoup 學習筆記 【三】 Producer 資料生產者筆記
- Go 大資料生態迎來重要產品 CDSGo大資料
- 生產車間如何做好精益生產管理培訓
- 資料圖表方案,企業影片生產資料視覺化視覺化
- 什麼是大資料?大資料的產生、特點、用途大資料
- 企業如何透過資料資產化,啟用“資料要素x”,乘出新質生產力
- 資料庫表結構發生變化怎麼辦?Smartbi產品支援一鍵同步資料庫
- 生產事故後續
- btrace定位生產故障
- Mastodon 生產部署指南AST
- 生產注意事項
- 處理生產bug
- Java生產初學Java
- Kafka 生產者解析Kafka
- RocketMQ - 生產者原理MQ
- 部署ES + Kibana 到生產環境的筆記筆記
- 安全生產月各地認真貫徹安全生產十五條措施
- 服裝生產管理軟體鞋帽生產系統的優點
- 常見MongoDB資料庫操作產生的鎖總結MongoDB資料庫
- Kafka生產消費資料丟失和優化小結Kafka優化
- R中將迴圈產生的資料框合併
- 北京Y公司精益生產資料框KPI介紹KPI
- Go 大資料生態迎來重量級產品 CDSGo大資料
- 數字孿生智慧選煤廠:資料監控賦能礦山高效生產