我能够连接到mysql数据库并进行查询。但是,我无法找到套接字文件。MySQL 5.6 - 数据库正在运行,但没有Socket文件
$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我的套接字文件条目:
$ cat /mysql/admin/ofile/TEST1.cnf|grep sock
socket = /mysql/admin/TEST1/run/TEST1.sock
相应的目录仅包含pid文件。没有套接字文件。
-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
这是我在RHEL 6.5上通过RPM安装的MySQL 5.6版本。我有我的旧自定义脚本,它使用套接字文件连接到数据库。
所以,我想知道如何使用套接字文件连接到数据库?为什么套接字文件不是默认创建的?
你可以在mysql数据库目录下找到套接字文件 –
'sudo lsof -a -U -p $(pgrep -d,-f/usr/sbin/mysqld)'提供任何有用的信息吗? –
@ Michael-sqlbot是的,我确实看到/ var/lib/mysql中创建的套接字文件。但是,为什么套接字文件不符合conf文件中的'套接字'参数? '-sh-4.1 $ lsof -a -U -p $(pgrep -d,-f/usr/sbin/mysqld)命令PID用户FD类型大小/关闭名称mysqld 5042 mysql 20u unix 0t0/var/lib/mysql/mysql.sock' – vins