mysql使用混合引擎如何,mysql – 使用MyISAM和InnoDB引擎的数据库的一致逻辑备份...
我有一個(gè)關(guān)于MySQL數(shù)據(jù)庫的邏輯備份的問題
同時(shí)使用MyISAM和InnoDB.
mysqldump實(shí)用程序支持以下兩個(gè)選項(xiàng):
> –single-transaction – 通過轉(zhuǎn)儲(chǔ)單個(gè)事務(wù)中的所有表來創(chuàng)建一致的快照.僅適用于存儲(chǔ)在支持多版本化的存儲(chǔ)引擎中的表(目前只有InnoDB可以)
[…]
選項(xiàng)自動(dòng)關(guān)閉 – 鎖定表.
> -x, – lock-all-tables – 鎖定所有數(shù)據(jù)庫中的所有表.這是通過在整個(gè)轉(zhuǎn)儲(chǔ)期間采用全局讀鎖來實(shí)現(xiàn)的.自動(dòng)關(guān)閉–single-transaction和–lock-tables.
>對于InnoDB,我們需要–single-transaction
>對于MyISAM,我們需要 – 鎖表或鎖全表(如果我們需要跨數(shù)據(jù)庫一致性).
那么,應(yīng)該如何備份混合數(shù)據(jù)庫(同時(shí)使用MyISAM和InnoDB引擎的數(shù)據(jù)庫)呢?
編輯:
只是為了澄清,這個(gè)問題可以像這樣重新制定:
lock- [all-]表選項(xiàng)是否保證InnoDB表的一致備份?
解決方法:
使用mysqldump,如果所有表都是InnoDB,則只能安全地使用–single-transaction,否則備份會(huì)不一致.
如果您需要混合備份,則需要備份中所有表的鎖表(默認(rèn)),這對所有引擎都是安全的.還值得一提的是,默認(rèn)選項(xiàng)將確保您的備份是安全的,您不需要打開任何特殊標(biāo)志.
注意:如果你有混合混合,也許看看xtrabackup.它只會(huì)在備份的MyISAM階段鎖定.
標(biāo)簽:mysql,mysqldump,innodb,myisam
來源: https://codeday.me/bug/20190805/1590058.html
總結(jié)
以上是生活随笔為你收集整理的mysql使用混合引擎如何,mysql – 使用MyISAM和InnoDB引擎的数据库的一致逻辑备份...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Quartus2入门的一个波形仿真的实例
- 下一篇: Abusing MySQL string