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 MemSQL does not use by default. Therefore, connecting with
localhost attempts to connect to MySQL and not MemSQL.
There are two solutions:
Specify "127.0.0.1" as the host instead of localhost, i.e.
mysql -h 127.0.0.1 -u rootinstead of
mysql -h localhost -u root. Note that if you omit the host (
mysql -u root) the MySQL client will implicitly use
/etc/mysql/my.cnfyou should see this near the top of the file:
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock
Change socket to the location of your MemSQL socket file. By default, this is