快速解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

先列出问题:

root@iZ:~# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/etc/run/mysql/mysql.sock' (2)

mysql.sock 这个文件在你的pc上的地址可能不同,不过不影响,通过提示找到相应的目录就行了,这个文件一般是会自动生成的,所以遇到这种报错一般是不能自动生成这个文件,那么解决思路就出来了

  1. 简单粗暴点可以直接创建一个mysql.sock文件,但我一般不建议这样,因为你不知道内容怎么写,当然你可以在其他地方copy,这我就不讲了

  2. 既然是不能自动创建,为了找清楚问题根源,就做了些让人也疼的无聊测试,最后发现原来是文件夹权限问题(真TM牙疼),既然这样解决起来就简单了,将mysql.sock所在目录的权限改为777就行了

sudo chmod 777 /var/run/mysql

然后:

root@iZ:~/ $ sudo service mysql start                              [16:58:11]
 * Starting MySQL database server mysqld                                 [ OK ] 
 * Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly.
root@iZ:~/ $ mysql -uroot -p                                       [16:58:35]
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.50-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2016, 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.

mysql> 

貌似搞定了(牙疼),仅供后来者参考

推荐阅读更多精彩内容