码迷,mamicode.com
首页 > 数据库 > 详细

[ERROR] mysqld got signal 6 错误

时间:2018-11-13 16:15:05      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:etc   没有   ror   用户   备份恢复   sql   localhost   pre   数据库   

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 错误

标签:etc   没有   ror   用户   备份恢复   sql   localhost   pre   数据库   

原文地址:http://blog.51cto.com/13930997/2316381

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!