MySQL连接时提示ERROR 2002 (HY000)解决方案
问题现象:
用mysql -u root -p连接MySQL时,提示如下错误:
root@IBelieveICanFly:~# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
系统环境如下:
# MySQL版本
root@host1:~# mysql --version
mysql Ver 14.14 Distrib 5.7.42, for Linux (x86_64) using EditLine wrapper# 系统版本
root@host1:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
一、临时解决方案:
改为以下命令连接
root@host1:~# mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 90527026
Server version: 5.5.5-10.4.22-MariaDB Source distributionCopyright (c) 2000, 2023, Oracle and/or its affiliates.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>
二、永久解决方案
修改mysql配置文件,可以是/etc/mysql/my.cnf或者/etc/mysql/conf.d/mysql.cnf,以下以/etc/mysql/conf.d/mysql.cnf为例。在[mysql]节中添加protocol=tcp。
[mysql]
protocol=tcp
保存即可。
root@host1:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 90538418
Server version: 5.5.5-10.4.22-MariaDB Source distributionCopyright (c) 2000, 2023, Oracle and/or its affiliates.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>