MySQL ERROR: 1005 Can't create table (errno: 13)错误排查及解决

Stars-one 2020年12月02日 115次浏览 本篇字数为1,380字

本文为作者原创,转载请注明出处,谢谢配合
作者:Stars-one
链接:https://stars-one.site/2020/12/02/mysql-1005-errno13


最近服务器上的MySQL突然就无法创表,刚开始我还以为是账号权限的问题,没想到换了个管理员的账号,也是无法创建成功,错误提示为
ERROR: 1005 Can't create table (errno: 13)

想要解决方案的同学请直接看结尾

排查过程

首先,根据网上的资料,提示说应该是没有权限,但是我这种情况比较特殊,因为昨天还好好的,第二天就突然不行了,中间也是没有对MySQL的配置进行修改过...

于是,尝试使用重启大法来解决

由于不是太熟悉Linux命令,于是便是通过宝塔的Linux面板中的软件管理进行MySQL的重启,如下图所示

软件面板的MySQL设置

进入到设置之后,我们即可通过按钮点击来重启服务,但是,我点击了重启之后,发现服务状态是关闭的...

这就很奇怪了,由于我是通过点击按钮来重启服务,所示看不到错误的提示信息,所以还是找一下重启mysql的命令

重启mysql的命令(仅限于阿里云服务器):

service mysqld restart

之后就报错了,提示如下:

MySQL server PID file could not be found!                  [FAILED]  
Starting MySQL.The server quit without updating PID file 

于是参考了网上的方法,试着删除日志二进制文件**(目录在mysql的数据目录,文件名类似这种:mysql-bin.0000*)**及关闭输出日志二进制功能

PS:阿里云的mysql目录是在/www/server/mysql,然后mysql的数据目录则是在/www/server/data

发现还是不行,于是看到了CSDN评论说的,没想到试试就成功了

解决方法

在/etc/my.cnf文件中添加user=root即可,我们可以直接通过MySQL的设置进行配置文件的修改,之后重启就发现状态是开启了,创表也是没有问题了(虽然还不知道之前为什么突然无法创表的原因,不过有解决方法,之后再出现的话也可以解决,原因就不追究了)

修改配置文件

参考

相关标签