1. 首先执行命令vim /etc/my.cnf 查看pid存储的路径 pid-file=xxxxxx
2.到对应的路径下查看发现已经丢失了,mysqld.pid创建在系统的run目录下,该目录是运行在内存中的,因此服务器重启后文件不存在。
3. 进行如下修改,比如将pid文件更换位置,比如存储到/var/lib/mysql/下
执行命令 vim /etc/init.d/mysqld 找到如下文本内容,将pid-file后面的路径修改成新的路径
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"
修改后如下:
接着执行命令vi /etc/my.cnf 修改为如下内容 pid-file 路径修改为了新的路径
4. 创建一个pid文件并修改权限
touch /var/lib/mysql/mysqld.pid
chown mysql.mysql /var/lib/mysql/mysqld.pid
5. 执行命令进行重启service mysqld restart 或者 systemctl start mysqld.service 可能报错 Unit file changed on disk, 'systemctl daemon-reload' recommended.
执行如下命令后重新尝试即可 systemctl daemon-reload
6. 登录mysql看是否能正常登录了
7. 添加开机自启动
chkconfig mysqld on