千家信息网

MySQL报错'ERROR 2002 (HY000): Can't connect to local MySQL server through'

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,登陆数据库保存[root@localhost Percona-Server-5.6.34-rel79.1-Linux.x86_64.ssl101]# bin/mysql -h localhost -P
千家信息网最后更新 2024年11月26日MySQL报错'ERROR 2002 (HY000): Can't connect to local MySQL server through'登陆数据库保存
[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.

0