/ var / lib / memsql中没有memsql.sock文件

时间:2015-05-25 05:15:41

标签: mysql ubuntu-14.04 memsql

这里提到的错误:http://docs.memsql.com/latest/tshoot/2002/我正在使用Ubuntu 14.04.2。 MySQL客户端和最新的MemSQL建议将'my.cnf'配置指向位于'/ var / lib / memsql'中的'memsql.sock'文件,但是没有这样的文件。

经过大量的搜索和故障排除,有类似的错误,但没有正确的文件,他们是无关紧要的,没有'memsql.sock'文件可能没有连接。我正在考虑很快在生产中使用MemSQL。

2 个答案:

答案 0 :(得分:2)

您可能会观察到此行为有多种原因。

  1. 首先,请注意文档表明该文件位于/var/lib/memsql/data下,而根据您的问题,您可能会在/var/lib/memsql下查找该文件。

  2. 也可能是你的MemSQL没有安装在/var/lib/memsql中,而是安装在其他地方。在这种情况下,memsql.sock文件将位于安装MemSQL的目录的data子目录中。

  3. 最后,可能是您的memsql.cnf缺少socket参数。您需要配置客户端和服务器以使用相同的套接字。您指向的文档页面建议更改/etc/mysql/my.cnf - 这是客户端配置。您的服务器配置位于memsql.cnf文件中,最有可能位于/var/lib/memsql/memsql.cnf。确保它有以下行:

  4. socket              = memsql.sock
    

    然后当您重新启动MemSQL时,它将创建memsql.sock文件。

    如果这些都不起作用,您也可以只连接到127.0.0.1而不是localhost,在这种情况下,memsql.sock文件将不会被使用。

答案 1 :(得分:0)

如果您使用mysql客户端没有-h 127.0.0.1,它将尝试连接到套接字,默认情况下设置为/var/run/mysqld/mysqld.sock。这通常设置在/etc/mysqld/my.cnfmy.conf文件的任何位置。如果您将$HOME/.my.cnf文件更改为

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

这应该有效。请注意,这是mysql客户端而非MemSQL的行为。