centos7下mysql中The server quit without updating PID file等问题

来源:互联网 发布:获取php版本号 编辑:程序博客网 时间:2024/05/21 14:06

最近在centos上安装mysql遇到了几个问题,搞得头都大了。一个下午时间才解决,特别的把其中两个关键的地方记下来。

问题一:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

首先,查看mysql server**是否启动**。没有启动的话启动。
如果启动了仍然存在这个错误,查看这个/var/lib/mysql/文件夹是否存在,然后查看mysql.sock是否存在。显然出现这个错误应该至少有一项不存在的。

文件夹不存在的话先创建。

mysql.sock不存在的话:
找到/tmp/文件夹,找到下面的mysql.sock;
使用命令

ln -s  /tmp/mysql .sock /var/lib/mysql /mysql .sock

就是把这个tmp下的sock连接到报错的文件夹下。

如果不想这么做,就在/etc/my.cnf下手动设置这个sock文件路径
添加如下字符串:

socket=/var/lib/mysql/mysql.sock

总之,报的错是在该路径下找不到mysql.sock,那就想办法让mysql能找到这个mysql.sock。要么通过修改my.cnf,使socket指向现在mysql.sock的位置,要么将现在的mysql.sock的位置连接到报错的路径下。

问题二:ERROR! The server quit without updating PID file (/usr/local/mysql/data/192.168.1.4.pid).

在这个问题中,我没有在my.cnf文件中设置任何关于pid的东西。也就是说这个路径和文件名应该是默认的。但是他报错是quit without updating pid file。

我去查看这个文件是否存在的时候发现确实找不着。

我翻了好些博客也没有结果,最后在一篇文件中看到,mysql安装完成后,对有些文件夹是没有写权限的。注意到这个,我就试着去做了一下,通过输出命令

chown -R mysql:mysql /var/lib/mysql/

将mysql的拥有者设置为我之前设置的一个用户。
我在安装mysql之前设置过用户如下,可以作为参考:

#添加mysql用户组和mysql用户groupadd mysqluseradd -r -g mysql mysql#修改当前目录拥有者为刚才新建的mysql用户chown -R mysql:mysql /usr/local/mysql/#执行安装包中自带脚本,安装数据库./scripts/mysql_install_db --user=mysql#修改当前目录拥有者为root用户chown -R root:root ./#修改data目录拥有者为mysql用户chown -R mysql:mysql data

经过以上设置是确实是没有对/var/lib/mysql的权限的,所以才会需要追加这一句关于/var/lib/mysql的权限。但是为什么要设置这个,我也不清楚。因为他更新明明更新的是/usr/local/mysql/data/192.168.1.4.pid,很费解。

但是经过这样子设置以后确实mysql就正常启动了。Starting MySQL. SUCCESS!

阅读全文
0 0
原创粉丝点击