MySQL錯誤修復:Table xx is marked as crashed and last (automatic?) repair failed


問題一 Table xx is marked as crashed and last (automatic?) repair failed

有開發找到我,說數據庫壞了,連不上數據庫,看了下 MySQL 的錯誤日志,報錯如下:

Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed

修復

1、先停止 MySQL:service mysqld stop
2、進入到 MySQL 數據庫的文件存放目錄,比如 cd /data/mysql_data/xx_db
然后執行如下命令:

myisamchk --safe-recover -f -r *.MYI

執行完成后,為了保險起見,我們要將文件的權限改回 MySQL 的運行賬號(自行查看),比如 mysql:

chown -R mysql:mysql .

3、啟動 MySQL:service mysqld start
4、最后,執行再次自動修復優化命令即可解決:

mysqlcheck --auto-repair --optimize --all-databases -p密碼

問題二 /usr/local/mysql/bin/mysqld does not exist or is not executable.

]# /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe  --defaults-file=/etc/my.cnf &
[1] 24527
]# 2020-11-23T10:36:45.803151Z mysqld_safe Logging to '/data/wapage/hhzk/mserver/mysql5713/data/qd01-tech2-rec-build001.ps.easou.com.err'.
2020-11-23T10:36:45.809116Z mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information

[1]+  Exit 1                  /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe --defaults-file=/etc/my.cnf

說明:mysqld_safe啟動腳本默認的從/usr/local/mysql目錄中讀取另外一個啟動腳本mysqld,因為我的安裝目錄為/data/wapage/hhzk/mserver/mysql5713。所以找不到相關文件。可以從兩個方面解決。
方法一:在/usr/local/mysql創建鏈接文件

mkdir -p /usr/local/mysql/bin
ln -s /data/wapage/hhzk/mserver/mysql5713/bin/mysqld /usr/local/mysql/bin/mysqld

方法二:將mysqld_safe中的所有/usr/local/mysql目錄改為自己實際的安裝目錄

sed -i 's#/usr/local/mysql#/data/wapage/hhzk/mserver/mysql5713#g'  /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM