[ERROR] mysqld got signal 6 錯誤
阿新 • • 發佈:2018-11-13
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