升级mysql版本后mysql没有运行

时间:2018-05-03 09:00:41

标签: mysql ubuntu-14.04

this链接后,我在我的ubuntu 14.04 droplet上将我的MySQL版本从5.5升级到5.7。但升级后,MySQL无法开始显示此错误。

mysqld: Can't read dir of '/etc/mysql/mysql.conf.d/' (Errcode: 13 - Permission denied)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

如何解决此问题?

6 个答案:

答案 0 :(得分:2)

在我的情况下,AppArmor阻止MySQL访问此目录。我通过以下方式禁用了它:

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

我找到了此解决方案here

另一种方法是调整/etc/apparmor.d/usr.sbin.mysqld内部的配置。

答案 1 :(得分:0)

权限没问题但是所有者错了。

chown mysql:mysql /etc/mysql/mysql.conf.d

答案 2 :(得分:0)

以下是纠正此问题的步骤:

在/ etc / mysql中备份my.cnf文件并删除或重命名

sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Remove the folder /etc/mysql/mysql.conf.d/ using

sudo rm -r /etc/mysql/mysql.conf.d/

确认你没有在其他地方藏匿my.cnf文件(我在家里做了dir!)或在/etc/alternatives/my.cnf中使用

sudo find / -name my.cnf

备份并删除/etc/mysql/debian.cnf文件(如果需要,不确定,以防万一)

sudo mv /etc/mysql/debian.cnf /etc/mysql/debian.cnf.bak
sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7
sudo apt install mysql-server

如果您的系统日志显示错误,例如“mysqld:无法读取'/etc/mysql/conf.d/'的目录”,请创建一个符号链接:

sudo ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

然后服务应该能够以sudo service mysql start开始。

答案 3 :(得分:0)

有些时候,由于您的系统内存可能已满或某些依赖性问题,mysql无法启动。所以你可能需要在启动mysql之前清理你的内存。

您可以尝试此操作来解决您的问题

apt-get autoremove
apt-get remove --purge mysql*
apt-get autoclean
deluser mysql
rm -rf /var/log/mysql
rm -rf /var/lib/mysql
rm -rf /etc/mysql

无论如何,这些是升级mysql的正确步骤

  1. 在/ etc / mysql中备份my.cnf文件并删除或重命名

    sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

  2. 使用

    删除文件夹/etc/mysql/mysql.conf.d/

    sudo rm -r /etc/mysql/mysql.conf.d /

  3. 确认你没有把my.cnf文件藏在其他地方(我在家里做了dir!)或者/etc/alternatives/my.cnf使用

    sudo find / -name my.cnf

  4. 备份并删除/etc/mysql/debian.cnf文件(不确定是否需要,但以防万一)

    sudo mv /etc/mysql/debian.cnf /etc/mysql/debian.cnf.bak sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7 sudo apt install mysql-server

  5. 如果您的系统日志显示错误,例如" mysqld:无法读取' /etc/mysql/conf.d /'"创建一个符号链接:

    sudo ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

  6. 然后该服务应该能够以sudo service mysql start

    开头

答案 4 :(得分:-1)

您尝试使用chmod设置文件夹的权限

npm install cheerio --save

mysql.conf.d是一个可以添加的新文件

答案 5 :(得分:-1)

您必须创建缺少的目录。

在Linux控制台/终端中运行以下命令:

>>> df
         date my_timedelta
0  1999-01-01    7066 days
1         xyz          NaT
2  2000-05-05    6576 days