1. 程式人生 > >[ERROR] mysqld got signal 6 錯誤

[ERROR] mysqld got signal 6 錯誤

mariadb 資料庫的問題
情景:是在系統盤不夠用的時候,將mariadb 的datadir=/var/lib/mysql 改為了 /alidata/mysql 將/var/lib/mysql 裡邊的東西複製到了 /alidata/mysql 下邊。但是複製的時候沒有關閉資料庫,將/var/lib/mysql 裡邊的檔案刪除了,是所以在restart mariadb的時候起不來,檢視mariadb日誌
tail -f /var/log/mariadb/mariadb.log 報錯如下:[ERROR] mysqld got signal 6 ;

網上說有的檔案被損壞,這樣的話就是不能恢復了,檢視網上的解決辦法,如下:

在 配置檔案my.cnf 裡邊新增配置

[mysqld]
innodb_force_recovery = 1       //不檢測,直接啟動。
systemctl start mariadb 

//如果1 起不來的話就變成2、3、4、......

資料庫起來後,備份資料庫,
mysqldump -uroot -p -A > /alidata/mysql_all.bak
備份完之後,關閉資料庫

我的建議是重灌資料庫。

yum erasse mariadb  mariadb-server -y  
rm -rf /var/lib/mysql/* 
rm -rf /etc/my.cnf
yum install mariadb mariadb-server -y

啟動mariadb

systemctl  start  mariadb   //這樣資料庫就是新的

先把你備份的資料進行備份恢復

mysql -uroot   //直接就能進去
source /alidata/mysql_all.bak    //時間較長

完了之後 要恢復之前的資料庫使用者和密碼,我這就是root使用者

mysqladmin -uroot password "密碼"
grant all  privileges on *.* to 'root'@'localhost' identified by '密碼';
flush privileges;

grant all privileges on *.* to 'root'@'%' identified by ''密碼;
flush privileges;

這樣問題就解決了,其實官方帶給的解決辦法是一個道理,
官方解決辦法:

https://blog.csdn.net/tantexian/article/details/50749039