升级mysql版本后mysql未运行

u59ebvdq  于 2021-06-21  发布在  Mysql
关注(0)|答案(5)|浏览(511)

通过这个链接,我在我的ubuntu14.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!

如何解决这个问题?

wecizke3

wecizke31#

以下是纠正此问题的步骤:
在/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文件保存在其他地方(我在我的home 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:cannotreaddirof'/etc/mysql/conf.d/'”的错误,请创建一个符号链接:

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

然后服务应该可以用sudo服务mysql start启动。

46qrfjad

46qrfjad2#

有时mysql无法启动或工作的原因是因为系统内存可能已满,因此您可能需要运行“apt autoremove”,有时还需要运行“apt autoclean”,以确定到底是什么错误运行“service mysql status”

vawmfj5a

vawmfj5a3#

有时由于系统内存可能已满或某些依赖性问题,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文件保存在其他地方(我在我的home 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:cannotreaddirof'/etc/mysql/conf.d/'”的错误,请创建一个符号链接:

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

那么服务应该可以从 sudo service mysql start

aelbi1ox

aelbi1ox4#

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

chmod 755 /etc/mysql/mysql.conf.d

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

ssm49v7z

ssm49v7z5#

对我来说 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

我在这里找到了这个解决方案。
另一种方法是调整内部配置 /etc/apparmor.d/usr.sbin.mysqld .

相关问题