標籤:修改 儲存 引擎
備份資料庫報錯
原因:由於監控伺服器最近cpu負載比較高。(cpu4核心,負載2.7左右)感覺很奇怪,因為別的伺服器mysql佔用的資源並不多,因此我首先最佳化了資料庫的設定檔。cpu稍微下降了一點,但是沒有特別明顯的變化。
於是,從mysql的儲存引擎和日誌考慮,結果發現預設用的引擎是myisam。好吧。換成innodb,(由於事先我沒備份,就在設定檔修改了引擎,因為日誌除了二進位其他並沒有開啟。所以沒動它。重啟資料庫。
ok
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/7E/9E/wKioL1cF1tyTp3zbAABQBRmfhQY914.jpg" title="3.jpg" alt="wKioL1cF1tyTp3zbAABQBRmfhQY914.jpg" />早就聽說這兩個引擎,區別,看來效能差別真大啊!
好吧。備份資料庫吧!
使用備份全部資料庫時候
mysqldump: Got error: 23: Out of resourceswhen opening file‘./mysql/jchigr32.MYD‘ (Errcode: 24) when using LOCK TABLES
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7E/A1/wKiom1cF1GXh_EzaAACYnTCrFic442.jpg" title="1.jpg" alt="wKiom1cF1GXh_EzaAACYnTCrFic442.jpg" />
原因
出現Outof resources when opening file ‘./xxx.MYD‘ (Errcode: 23)錯誤是
因為開啟的檔案數超過了my.cnf的--open-files-limit。open-files-limit選項
無法在mysql命令列直接修改,必須在my.cnf中設定,最大值是65536。
首先用ulimit-n命令查看下開啟檔案數限制:
預設是1024
解決
vim /etc/my.cnf
open_files_limit=65536(最大)
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/7E/A1/wKiom1cF1IHgJ4qnAADP7McdZYE282.jpg" title="2.jpg" alt="wKiom1cF1IHgJ4qnAADP7McdZYE282.jpg" />
重啟mysql ok
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/7E/A1/wKiom1cF1JfR59WVAABnf1rNUno369.jpg" title="3.jpg" alt="wKiom1cF1JfR59WVAABnf1rNUno369.jpg" />
檢查
mysqlcheck -uroot -pxxx mysql
Error : Youcan‘t use locks with log tables.
Error : Table‘mysql.tempmix‘ doesn‘t exist
status :Operation failed
mysql.tempmix1
Error : Table‘mysql.tempmix1‘ doesn‘t exist
status :Operation failed
mysql.tempmix4
Error : Table‘mysql.tempmix4‘ doesn‘t exist
status :Operation failed
好吧!請教Google大神
使用LOCK TABLES時,mysqldump的表不存在
癥狀
MySQL資料庫轉儲失敗,錯誤:
mysqldump: Goterror: 1146: Table ‘<TABLENAME>‘ doesn‘t exist when using LOCK TABLES
原因
也許有人刪除並重新建立InnoDB資料檔案卻忘了從資料庫目錄中刪除InnoDB表的相應的.FRM檔案,或者有人移動.FRM檔案到另一個資料庫。 請與show tables
不正確的許可權和所有權上表檔案MySQL資料目錄
表已損壞
表中建立大寫
解析度
請與show tables ,如果表中未列出的舉動.frm從資料庫目錄檔案出來
許可權和所有權在MySQL資料目錄表的檔案是不正確的,理想的所有者應該是MySQL使用者和使用權限設定為660。
修複表
設定lower_case_table_names
如果以上所有點都ok然後嘗試使用--skip-lock-tables參數用mysqldump 。
根據上面的思路,很快解決!
如果出現這種錯誤,建議單獨備份資料庫。
本文出自 “?唯一!” 部落格,請務必保留此出處http://renzhiyuan.blog.51cto.com/10433137/1761241
修改mysql儲存引擎備份資料庫報錯及解決方案