亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

運行MySQLDump而不鎖定表

運行MySQLDump而不鎖定表

蕪湖不蕪 2019-09-18 13:28:24
我想將一個實時生產數據庫復制到我的本地開發數據庫中。有沒有辦法在不鎖定生產數據庫的情況下執行此操作?我目前正在使用:mysqldump -u root --password=xxx -h xxx my_db1 | mysql -u root --password=xxx -h localhost my_db1但它在運行時鎖定每個表。
查看完整描述

3 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

該--lock-tables=false選項是否有效?


根據手冊頁,如果要轉儲InnoDB表,可以使用以下--single-transaction選項:


--lock-tables, -l


Lock all tables before dumping them. The tables are locked with READ

LOCAL to allow concurrent inserts in the case of MyISAM tables. For

transactional tables such as InnoDB and BDB, --single-transaction is

a much better option, because it does not need to lock the tables at

all.

對于innodb DB:


mysqldump --single-transaction=TRUE -u username -p DB


查看完整回答
反對 回復 2019-09-18
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

這已經太晚了,但對搜索主題的任何人都有好處。如果您不是innoDB,并且在轉儲時不擔心鎖定,只需使用以下選項:


--lock-tables=false


查看完整回答
反對 回復 2019-09-18
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

答案取決于您使用的存儲引擎。理想的情況是你使用的是InnoDB。在這種情況下,您可以使用該--single-transaction標志,該標志將在轉儲開始時為您提供數據庫的連貫快照。


查看完整回答
反對 回復 2019-09-18
  • 3 回答
  • 0 關注
  • 3416 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號