亲测有效,解决The server quit without updating PID file和Can 't connect to local MySQL server through socket

一、登陆mysql的时候报错

$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

出现这个错误,是因为MySQL并没有启动,为了验证这个猜测,可以打开活动监视器,搜索mysqld,是无法搜到的。因为我自己是解决了问题后截图的,所以搜索的时候,mysqld进程已经启动了。

或者输入命令查看 mysql.server status

$ mysql.server status
/usr/local/mysql/support-files/mysql.server: line 365: pidof: command not found
 ERROR! MySQL is not running

可以发现,MySQL没有运行。既然MySQL没有运行,那么我们肯定要启动MySQL。

二、MySQL启动也报错

$mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.local.pid).

启动报错了,会不会是权限不够?于是先更改 /usr/local/var/mysql的权限

sudo chown -R _mysql:mysql /usr/local/var/mysql

权限解决之后,于是用sudo测试一下,重新启动

三、sudo启动

$ sudo mysql.server start
Password:
Starting MySQL
.. SUCCESS! 

意外的发现,MySQL启动成功了,然后再登陆mysql

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log Homebrew

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

总结:Can 't connect to local MySQL server through socket这个问题是由于MySQL没有启动导致的;The server quit without updating PID file是由于权限问题,解决了权限问题,第一个问题也迎刃而解。

当然由于环境配置不一样,安装方式不一样,解决方法会有些差异,但是引起问题的原因应该是一样的。我是Mac,homebrew安装的mysql,通过此方法,成功解决了问题。

参考stackoverflow上的资料:

MySql server startup error 'The server quit without updating PID file '

For a newbie: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值