centos7重启mysql5.7不自动启动,缺少/var/run/mysql/mysqld.pid文件

在安装好centos7后,按照步骤安装mysql5.7,当一些准备就绪后并将应用的表结构与数据都导入后,原本以为万事大吉,谁想稍后需要重启服务器,当服务器重启后发现应用不好用了,tomcat正常启动,当登录服务器检查后ps -ef |grep mysql发现mysql的进程并不存在,此刻心情................................,

继续找原因,发现/var/run/mysql/mysqld.pid丢失,手动创建并设置权限后,数据库成功启动,当再次重启服务器后mysql还不正常启动,经过分析发现mysqld.pid创建在系统的run目录下,该目录是运行在内存中的,因此服务器重启后文件不存在,知道病因了,那就对症下药吧。

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"

继续编辑my.cnf文件

vi /etc/my.cnf

找到下面的字段

pid-file=/var/run/mysql/mysqld.pid

修改成

pid-file=/var/lib/mysql/mysqld.pid

创建一个pid文件并修改权限

touch /var/lib/mysql/mysqld.pid

chown mysql.mysql /var/lib/mysql/mysqld.pid

再次重启应该就没问题了,万事大吉,回家喝酒去

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容