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

[ERROR] mysqld got signal 6 錯誤

pre 之前 新的 article ida innodb ... 配置 有關

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

[ERROR] mysqld got signal 6 錯誤