MySQL 備份和檢查修復問題?
問題描述
1、mysqlcheck 和 myisamchk 是不是只能檢查和修復MyISAM引擎的表呢?如果要檢查,修復,優化Innodb表的話,這兩個命令可以用嗎?看網上還像說這兩個命令只能針對MyISAM表做操作,Innodb不行的,求解,這個到底是怎么回事呢?
2、我知道MyISAM表備份是可以直接導出的,或者直接復制data文件夾就可以了。但是innodb備份的時候,如果復制data文件夾,則需要先停止mysqld服務。
---------------那么問題來了:
-------------------1、MyISAM和innodb這兩種表是否都可以通過導出sql的方式進行備份,因為我以前導出過,發現之后導入是用也是正常的。可是在別的地方說這種方式innodb有時候會出問題
-------------------2、如果是直接復制data文件夾的話,那么停止mysqld服務后,是否就能確保這兩種表都能完美備份?
-------------------* 一般我喜歡直接.sql形式導出備份數據表,那么假如一個數據庫中涉及到這兩種表,我該怎么備份比較好呢?
求解,謝謝大神。
問題解答
回答1:你看你是熱備還是冷備
如果你是熱備的話可以用mysqldump進行熱備,但是這樣會鎖表,應用無法向數據庫進行寫操作,如果必須有寫操作的話,可以使用xtrabackup熱備工具,支持在線熱備,對innodb表不會有讀寫影響,但是對myisam表會鎖住,如果你庫里面大部分是myisam表的話,還是直接mysqldump吧。
如果是冷備,可以關閉服務的話,那么就直接邏輯備份了,(假如是myisam引擎表,那么就很爽了,直接備份datadir里面的數據文件即可,可以物理恢復數據的),innodb引擎表需要備份ibdata文件、*.frm文件和my.cnf,設置innodb_data_file_path來制定原先的ibdata路徑
相關文章:
1. mysql優化 - MySQL如何為配置表建立索引?2. 如何用筆記本上的apache做微信開發的服務器3. 我在網址中輸入localhost/abc.php顯示的是not found是為什么呢?4. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。5. 關于mysql聯合查詢一對多的顯示結果問題6. 冒昧問一下,我這php代碼哪里出錯了???7. windows誤人子弟啊8. php傳對應的id值為什么傳不了啊有木有大神會的看我下方截圖9. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)10. 實現bing搜索工具urlAPI提交
