当我尝试连接mysql时,我得到以下错误:
无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
有解决这个错误的方法吗?背后的原因可能是什么?
当我尝试连接mysql时,我得到以下错误:
无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
有解决这个错误的方法吗?背后的原因可能是什么?
当前回答
编辑/etc/my.cnf即可 在my.cnf中添加以下行
[mysqld]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sock
重新启动mysql并重新连接
Mysql -u user -p password database -h host;
其他回答
Navicat15:无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器
Ubuntu16.04版本,如果mysql服务器正在运行,在/etc/mysql中配置如下:
[mysqld] socket = /var/run/mysqld/mysqld.sock
那么Navicat15 localhost的默认设置是: " / var / lib / mysql / mysql.sock”
你可以像这样提前编辑:
如果你是在sf.net的壳,尝试:
mysql --host=mysql-{LETTER} --user={LETTER}{GROUP ID}admin -p
更改{LETTER}和{GROUP ID},如您的MySQL数据库的项目管理配置文件中所示。
重现此错误的一种方法:如果您打算连接到外部服务器,但却连接到不存在的本地服务器:
eric@dev ~ $ mysql -u dev -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2)
eric@dev ~ $
所以你必须像这样指定主机:
eric@dev ~ $ mysql --host=yourdb.yourserver.com -u dev -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 235
Server version: 5.6.19 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| information_schema |
| mysql |
| performance_schema |
+-------------------------+
3 rows in set (0.00 sec)
mysql> exit
Bye
eric@dev ~ $
MySQL服务器没有运行,或者那不是它的套接字文件的位置(检查my.cnf)。
您正在连接到“localhost”还是“127.0.0.1”?我注意到,当您连接到“localhost”时使用套接字连接器,但当您连接到“127.0.0.1”时使用TCP/IP连接器。如果套接字连接器未启用/正在工作,则可以尝试使用“127.0.0.1”。