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資料型別落實到生產環境資料型別
- 生產計劃排產軟體如何解決生產難題?
- 網易數帆資料生產力方法論
- 大資料平臺生產環境部署指南大資料
- 提高開發生產力 - 生產力指南篇(之一)
- sessionid如何產生?由誰產生?儲存在哪裡?Session
- 從專案到產品:生產線類比的終結
- 網路每分鐘產生多少資料–資料資訊圖
- 生產資料update沒加where條件(從執行到恢復)
- 使用RMAN將生產庫資料恢復到另外環境追溯先前的資料資料恢復
- Elasticsearch系列---生產資料備份恢復方案Elasticsearch
- 介面測試-使用mock生產隨機資料Mock隨機
- 介面測試-使用 mock 生產隨機資料Mock隨機
- MySQL資料庫生產環境安全規範MySql資料庫
- 資料新聞的生產過程–資訊圖
- 工廠生產資料實時分析,產品質量高效管控
- Mastodon 生產部署指南AST
- Kafka 生產者解析Kafka
- Hadoop 2.0產生Hadoop
- btrace定位生產故障
- RocketMQ - 生產者原理MQ
- LCM模組生產流程
- Java的產生(轉)Java
- 生產注意事項
- ClickHouse生產環境部署
- 處理生產bug
- 優思學院|"豐田生產"和“福特生產”有哪些區別?
- 服裝生產管理軟體鞋帽生產系統的優點
- Redis快速產生測試資料的三種方法Redis
- Go 大資料生態迎來重要產品 CDSGo大資料
- mediasoup 學習筆記 【三】 Producer 資料生產者筆記
- 高併發下如何避免產生重複資料?
- 資料驅動的生產運營管理決策
- 大資料對法律行業產生的影響大資料行業
- Oracle資料庫減少redo日誌產生方式Oracle資料庫
- 生產環境資料遷移問題彙總