MySQL報錯'ERROR 2002 (HY000): Can't connect to local MySQL server through'

feelpurple發表於2017-04-11
登陸資料庫儲存
[root@localhost Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101]# bin/mysql -h localhost -P 3306 -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

檢視資料庫使用者
mysql> select host, user from mysql.user;
+-----------------------+----------------+
| host                  | user           |
+-----------------------+----------------+
| %                     | ADMGEMALTO     |
| %                     | MGRGEMALTO     |
| %                     | TECHADMGEMALTO |
| localhost             | ADMGEMALTO     |
| localhost             | MGRGEMALTO     |
| localhost             | TECHADMGEMALTO |
| localhost             | root           |
| localhost.localdomain | root           |
+-----------------------+----------------+
8 rows in set (0.00 sec)

解決方法:
在MySQL中,需要使用socket方式連線localhost;而當使用-h選項登陸資料庫時,後面接的應該是IP地址或主機名。

查詢socket

[root@localhost Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101]# ps -ef|grep mysql

root      2940  2917  0 15:31 pts/0    00:00:00 /bin/sh bin/mysqld_safe --defaults-file=/u01/mysql_data/my.cnf
mysql     3837  2940  0 15:31 pts/0    00:00:07 /mysql5.6/Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101/bin/mysqld --defaults-file=/u01/mysql_data/my.cnf --basedir=/database/percona --datadir=/u01/mysql_data --plugin-dir=/database/percona/lib/mysql/plugin --user=mysql --log-error=/u01/mysql_data/mysqld_error.log --open-files-limit=8192 --pid-file=/u01/mysql_data/localhost.localdomain.pid --socket=/u01/mysql_data/mysql.sock --port=3306
root      5346  2917  0 17:05 pts/0    00:00:00 grep mysql

使用-S連線socket的方式登入資料庫

[root@localhost Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101]# bin/mysql -S /u01/mysql_data/mysql.sock -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.6.34-79.1-log Percona Server (GPL), Release 79.1, Revision 1c589f9

Copyright (c) 2009-2016 Percona LLC and/or its affiliates
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.

使用-h接主機名的方式連線到資料庫
[root@localhost Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101]# bin/mysql -h localhost.localdomain -P 3306 -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.6.34-79.1-log Percona Server (GPL), Release 79.1, Revision 1c589f9

Copyright (c) 2009-2016 Percona LLC and/or its affiliates
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.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2137045/,如需轉載,請註明出處,否則將追究法律責任。

相關文章