安装mysql5.7后无法启动,每次重启服务器后/var/run/mysqld 目录都需要手动去创建解决方案

鉴于很多童鞋反应,mysql5.7安装后出现无法启动,建立/var/run/mysqld 并赋权mysql用户解决了启动的问题,但是重启系统后又出现无法启动的问题,导致/var/run/mysqld 目录每次重启后都需要手动去创建并赋权mysql用户才能起到mysql,可以说,这是mysql5.7的一个小BUG,经过探索实践,现给出终极解决方案:

首先申明,修改my.cnf没有用。

mkdir -p /var/run/mysqld
chown mysql.mysql /var/run/mysqld
chgrp -R mysql /var/run/mysqld

service mysqld start 启动成功后并不能从根本上完全解决/var/run/mysqld目录丢失问题的。

之所以/var/run/mysqld 目录每次重启后都需要手动去创建,是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。

编辑mysqld配置文件

vim /etc/init.d/mysqld

找到下面字段
get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
mypidfile="$result"

修改为

get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/lib/mysql/mysqld.pid"
mypidfile="$result"

保存后退出,执行下面命令:

systemctl daemon-reload   //重构进程

service mysqld start    //启动mysql

chkconfig mysqld on    //加入随系统启动启动

猜你喜欢

转载自blog.csdn.net/Miss520jenny/article/details/87004648