问题描述
年前因为搬迁,公司服务器断电然后服务器关机重启以后,启动mysql失败,出现报错。
在/var/log/mysqld.log下查看报错日志,日志截图如下:

但是在我本机的mysql数据库的路径下发现,存在plugin.frm文件。但是后续报错信息有一句话:The error means mysqld does not have the access rights to the directory。含义是说mysqld命令没有对 /ibdata1的权限。
解决方案
既然问题原因知道了,是没有操作权限的问题。
那么我们就要去找到 /ibdata1文件夹,然后查看其权限。
(有ibdata1 和其他数据库的目录就是 其所在目录就是datadir,而datadir这个路径可以在/etc/my.cnf文件中找到)
然后我在本机的/home/mysql_data找到了ibdatal文件。权限如下:

然后我们可以发现有下面的区别:

/mysql/文件夹的用户是mysql,而其他文件的用户是lu_mysql。所以就可以认定是因为这个原因,导致mysqld没有对/ibdatal的操作权限。
接下来使用这条命令:
mysqld_safe --defaults-file=/etc/my.cnf --user=lu_mysql &
然后运行
$ service mysqld start
成功启动mysql
总结
1.查看错误日志,寻找错误点。
2.在解决问题时大胆猜想,小心求证。

被折叠的 条评论
为什么被折叠?



