[ERROR] mysqld got signal 6 錯誤
阿新 • • 發佈:2018-11-13
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 ;
情景:是在系統盤不夠用的時候,將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 錯誤