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 SingleStore DB does not use by default. Therefore, connecting with localhost
attempts to connect to MySQL and not SingleStore DB.
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 SingleStore DB, change the
socket
value in the/etc/mysql/my.cnf
file to the location of your SingleStore DB socket file as shown in the example below:
[client] port = 3306 socket = /var/lib/memsql/data/memsql.sock