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. javascript - fis3使用MD5但是如何引用?2. css - 怎么實現(xiàn)一個圓點在一個范圍內(nèi)亂飛3. 網(wǎng)頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應(yīng)該怎么解決4. javascript - JAVA寫的H5頁面能否解釋一下流程5. python 計算兩個時間相差的分鐘數(shù),超過一天時計算不對6. javascript - 使用form進行頁面跳轉(zhuǎn),但是很慢,如何加一個Loading?7. docker-machine添加一個已有的docker主機問題8. docker-compose中volumes的問題9. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?10. javascript - 后臺管理系統(tǒng)左側(cè)折疊導(dǎo)航欄數(shù)據(jù)較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當前菜單
