首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 5.6 -数据库正在运行,但没有套接字文件

问MySQL 5.6 -数据库正在运行,但没有套接字文件
EN

Stack Overflow用户
提问于 2016-04-30 02:22:47
回答 1查看 1.4K关注 0票数 0

我能够连接到mysql数据库并查询它。但是,我无法找到套接字文件。

代码语言:javascript
复制
$ps -ef|grep mysql
mysql    31408 30874  0 18:46 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe     --defaults-file=/mysql/admin/ofile/TEST1.cnf

mysql    31959 31408  0 18:46 pts/1    00:00:01 /usr/sbin/mysqld --defaults-    file=/mysql/admin/ofile/TEST1.cnf --basedir=/usr --    datadir=/mysql01data/TEST1/data --plugin-dir=/usr/lib64/mysql/plugin --log-    error=/mysql/admin/TEST1/errors/mysqld_safe.err --pid-    file=/mysql/admin/TEST1/run/mysqld_safe.pid

下面是TEST1.cnf中的套接字文件条目:

代码语言:javascript
复制
$ cat /mysql/admin/ofile/TEST1.cnf|grep sock
socket                            = /mysql/admin/TEST1/run/TEST1.sock

对应的目录只包含pid文件。没有套接字文件。

代码语言:javascript
复制
-sh-4.1$ cd /mysql/admin/TEST1/run
-sh-4.1$ ls -lrt
total 4
-rw-rw---- 1 mysql mysql 6 Apr 29 18:46 mysqld_safe.pid

这是我通过RPM在RHEL6.5上安装的MySQL 5.6版本。我有我的旧自定义脚本,它使用套接字文件连接到数据库。

因此,我想知道如何使用套接字文件连接到数据库?默认情况下,为什么没有创建套接字文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-02 23:02:28

运行中的MySQL服务器实例的套接字文件应该可以通过以下命令找到:

sudo lsof -a -U -p $(pgrep -d,-f /path/to/your/your/mysqld)

无法找到套接字文件的一个可能原因是服务器启动后删除了该文件。在这种情况下,上面的命令应该可以工作,并在路径之后显示类似于(deleted)的内容。

这是我最初对这个问题的假设..。但这里的问题是配置疏忽。“缺省文件”,通常称为my.cnf,包含多个部分。[client]部分配置客户端实用程序,如mysql和mysqldump,而[mysqld]部分配置服务器守护进程。如果socket指令不在适当的部分中,服务器(和/或客户端实用程序)将查看默认编译的位置,其中/tmp/mysql.sock或/var/lib/mysql/mysql.sock是常见默认位置的两个示例。

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

https://stackoverflow.com/questions/36950006

复制
相关文章

相似问题

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