本文共 1220 字,大约阅读时间需要 4 分钟。
当你在使用MySQL时遇到启动时出现错错513或无法创建数据库等问题时,以下是一些常见的解决方法。这些问题往往与数据目录的权限设置有关。
首先,打开/etc/my.cnf
文件。在[mysqld]
配置段中查找以下两个关键参数:
datadir
:这是你的数据库数据存储目录。例如,在我的环境中,datadir = /www/server/data
,因此我的数据目录位于/www/server/data
。log-bin
:这是用于存储日志的目录,默认情况下,如果没有进行过修改,日志文件会放在数据目录的子目录mysql-bin
中。打开到你数据目录对应的文件夹位置。在这个文件夹中,你会找到一个带有***.err
的文件。这是MySQL的错误日志。使用vim
等工具查看日志内容,看是否有相关的错误信息。
通过查看错误日志,我发现了两个主要问题:
MySQL无法创建PID文件:每次启动MySQL时,系统会尝试在数据目录中创建一个***.pid
文件以记录进程ID。当上次使用时,不小心将整个文件夹(包括文件夹中的内容)的所有者修改为root
时,MySQL就无法再创建新的PID文件。这导致了错误信息中提到的“错错513”问题。
权限不足:最初我可以正常登录MySQL,但在以root
用户身份尝试创建新数据库时却遇到权限不足的问题。这可能是因为数据目录的权限设置为755
,文件的权限设置为644
。这种情况下,虽然用户组和公共组都有读取权限,但没有写入权限,这也会导致数据库无法正常运行。
为了解决这些问题,我们需要对数据目录进行权限调整。具体步骤如下:
修改数据目录所有者:
sudo chown -R mysql:mysql YOUR_DATADIR
将YOUR_DATADIR
替换为你的实际数据目录路径。
调整文件和目录权限:数据库数据目录的权限建议设置为700
,文件的权限建议设置为660
。可以使用以下命令进行调整:
sudo find YOUR_DATADIR -type d -exec chmod 700 {} \;sudo find YOUR_DATADIR -type f -exec chmod 660 {} \;
完成上述权限调整后,尝试重新启动MySQL服务:
sudo /etc/init.d/mysqld restart
如果看到输出[OK]
,说明问题已经解决。
登录MySQL后,确保权限问题已经解决,可以正常创建数据库和执行其他操作。
***.pid
文件,然后重新启动MySQL服务。转载地址:http://yvdfk.baihongyu.com/