MySQL客户端和最新的MemSQL建议将'my.cnf‘配置指向位于'/var/lib/memsql’中的'memsql.sock‘文件,但是没有这样的文件。
经过多次搜索和故障排除,也有类似的错误,但如果没有正确的文件,它们就会变得无关紧要,因为没有'memsql.sock‘文件就不会有连接。我正在考虑尽快在生产环境中使用MemSQL。
发布于 2015-05-25 14:35:58
您可能会观察到此行为的原因有多种。
/var/lib/memsql/data下,而根据您的问题,您可能会在/var/lib/memsql下查找该文件。/var/lib/memsql中,而是安装在其他位置。在本例中,memsql.sock文件将位于MemSQL为data的目录的MemSQL子目录中,这可能是因为memsql.cnf缺少socket参数。您需要将客户端和服务器配置为使用同一套接字。您指向的文档页面建议更改/etc/mysql/my.cnf --这是客户端配置。您的服务器配置在memsql.cnf文件中,该文件最有可能在/var/lib/memsql/memsql.cnf中。确保它包含以下行:socket = memsql.sock然后,当您重新启动MemSQL时,它将创建memsql.sock文件。
如果这些都不起作用,您也可以直接连接到127.0.0.1而不是localhost,在这种情况下,将不会使用memsql.sock文件。
发布于 2015-05-27 01:37:19
如果您使用不带-h 127.0.0.1的mysql客户端,它将尝试连接到套接字,该套接字在默认情况下设置为/var/run/mysqld/mysqld.sock。这通常是在/etc/mysqld/my.cnf或my.conf文件所在的任何位置设置的。如果您将$HOME/.my.cnf文件更改为具有
[client] port = 3306 socket = /var/lib/memsql/data/memsql.sock
这应该是可行的。请注意,这是mysql客户端而不是MemSQL的行为。
https://stackoverflow.com/questions/30431624
复制相似问题