紧急修复了数据库错误

Posted on 2022-08-05 18:22  Xiao傅  阅读(24)  评论(1编辑  收藏  举报

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket /var/run/mysqld/mysqld.sock”

Issue

When the MySQL client connects to localhost, it attempts to use a socket file instead of TCP/IP. The socket file used is specified in /etc/mysql/my.cnf when the MySQL client is installed on the system. This is a MySQL socket file, which SingleStoreDB Cloud does not use by default. Therefore, connecting with localhost attempts to connect to MySQL and not SingleStoreDB Cloud.

Solutions

There are two solutions to solve this problem:

  1. Specify 127.0.0.1 as the host instead of localhost. That is, mysql -h 127.0.0.1 -u root instead of mysql -h localhost -u root. If you omit the host (mysql -u root), the MySQL client will implicitly use localhost.

  2. For SingleStoreDB Cloud, change the socket value in the /etc/mysql/my.cnf file to the location of your SingleStoreDB Cloud socket file as shown in the example below:

 
[client]
port          = 3306
socket        = /var/lib/memsql/data/memsql.sock