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:
-
Specify
127.0.0.1
as the host instead oflocalhost
. That is,mysql -h 127.0.0.1 -u root
instead ofmysql -h localhost -u root
. If you omit the host (mysql -u root
), the MySQL client will implicitly uselocalhost
. -
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