MySQL 備份和檢查修復(fù)問題?
問題描述
1、mysqlcheck 和 myisamchk 是不是只能檢查和修復(fù)MyISAM引擎的表呢?如果要檢查,修復(fù),優(yōu)化Innodb表的話,這兩個命令可以用嗎?看網(wǎng)上還像說這兩個命令只能針對MyISAM表做操作,Innodb不行的,求解,這個到底是怎么回事呢?
2、我知道MyISAM表備份是可以直接導(dǎo)出的,或者直接復(fù)制data文件夾就可以了。但是innodb備份的時候,如果復(fù)制data文件夾,則需要先停止mysqld服務(wù)。
---------------那么問題來了:
-------------------1、MyISAM和innodb這兩種表是否都可以通過導(dǎo)出sql的方式進行備份,因為我以前導(dǎo)出過,發(fā)現(xiàn)之后導(dǎo)入是用也是正常的。可是在別的地方說這種方式innodb有時候會出問題
-------------------2、如果是直接復(fù)制data文件夾的話,那么停止mysqld服務(wù)后,是否就能確保這兩種表都能完美備份?
-------------------* 一般我喜歡直接.sql形式導(dǎo)出備份數(shù)據(jù)表,那么假如一個數(shù)據(jù)庫中涉及到這兩種表,我該怎么備份比較好呢?
求解,謝謝大神。
問題解答
回答1:你看你是熱備還是冷備
如果你是熱備的話可以用mysqldump進行熱備,但是這樣會鎖表,應(yīng)用無法向數(shù)據(jù)庫進行寫操作,如果必須有寫操作的話,可以使用xtrabackup熱備工具,支持在線熱備,對innodb表不會有讀寫影響,但是對myisam表會鎖住,如果你庫里面大部分是myisam表的話,還是直接mysqldump吧。
如果是冷備,可以關(guān)閉服務(wù)的話,那么就直接邏輯備份了,(假如是myisam引擎表,那么就很爽了,直接備份datadir里面的數(shù)據(jù)文件即可,可以物理恢復(fù)數(shù)據(jù)的),innodb引擎表需要備份ibdata文件、*.frm文件和my.cnf,設(shè)置innodb_data_file_path來制定原先的ibdata路徑
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. javascript - 怎么看網(wǎng)站用了什么技術(shù)框架?4. 關(guān)于Android權(quán)限的獲取問題,大家遇到過這樣的情況嘛?5. PC 手機兼容的 編輯器6. javascript - 編程,算法的問題7. css - 關(guān)于border-image8. javascript - 請教空白文本節(jié)點的問題9. javascript - 前端開發(fā) 本地靜態(tài)文件頻繁修改,預(yù)覽時的緩存怎么解決?10. 刷新頁面出現(xiàn)彈框
