首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >var/lib/memsql中没有memsql.sock文件

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

Stack Overflow用户
提问于 2015-05-25 13:15:41
回答 2查看 486关注 0票数 2

MySQL客户端和最新的MemSQL建议将'my.cnf‘配置指向位于'/var/lib/memsql’中的'memsql.sock‘文件,但是没有这样的文件。

经过多次搜索和故障排除,也有类似的错误,但如果没有正确的文件,它们就会变得无关紧要,因为没有'memsql.sock‘文件就不会有连接。我正在考虑尽快在生产环境中使用MemSQL。

EN

回答 2

Stack Overflow用户

发布于 2015-05-25 14:35:58

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

  1. 首先,请注意文档显示该文件位于/var/lib/memsql/data下,而根据您的问题,您可能会在/var/lib/memsql下查找该文件。
  2. 也可能是您的MemSQL没有安装在/var/lib/memsql中,而是安装在其他位置。在本例中,memsql.sock文件将位于MemSQL为data的目录的MemSQL子目录中,这可能是因为memsql.cnf缺少socket参数。您需要将客户端和服务器配置为使用同一套接字。您指向的文档页面建议更改/etc/mysql/my.cnf --这是客户端配置。您的服务器配置在memsql.cnf文件中,该文件最有可能在/var/lib/memsql/memsql.cnf中。确保它包含以下行:

代码语言:javascript
复制
socket              = memsql.sock

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

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

票数 2
EN

Stack Overflow用户

发布于 2015-05-27 01:37:19

如果您使用不带-h 127.0.0.1mysql客户端,它将尝试连接到套接字,该套接字在默认情况下设置为/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的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30431624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档