在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!
如何解决此问题?
答案 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的正确步骤
在/ etc / mysql中备份my.cnf文件并删除或重命名
sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
使用
删除文件夹/etc/mysql/mysql.conf.d/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
答案 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