beh*_*has 131
回答你问题的第一部分:
跑
% mysqladmin -p -u <user-name> variables
Run Code Online (Sandbox Code Playgroud)
并检查'socket'变量
Eug*_*rez 41
这解决了我的问题
mysql_config --socket
Run Code Online (Sandbox Code Playgroud)
UPDATE
mysql_config可以告诉我们文件mysql.sock应该在哪里,但在我的情况下该文件不存在.所以,我删除了my.cnf:
sudo rm -rf /etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
然后重启mysql:
brew services restart mysql
Run Code Online (Sandbox Code Playgroud)
该文件已创建,mysql现在运行良好.
Aln*_*tak 18
MySQL守护程序启动时应自动创建套接字文件.
如果找不到,很可能是应该包含它的目录不存在,或者某些其他文件系统问题阻止创建套接字.
要找出文件的位置,请使用:
% mysqld --verbose --help | grep ^socket
Run Code Online (Sandbox Code Playgroud)
小智 10
我的问题也是mysql.sock文件.
在drupal安装过程中,我不得不说我想使用哪个数据库,但找不到我的数据库
mkdir /var/mysql
ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
系统正在搜索mysql.sock,但它在错误的目录中
你所要做的就是链接它;)
我花了很多时间来搜索所有重要的信息,但是我花了几个小时来找出如何适应,但现在我可以呈现结果:D
ps:如果你想要完全你必须将你的/tmp/mysql.sock-file
(如果它也在你的系统中)链接到php.ini(或php.default.ini)给出的目录pdo_mysql.default_socket= ...
我使用以下方法获得了确切路径:
netstat -ln | grep -o -m 1 -E '\S*mysqld?\.sock'
Run Code Online (Sandbox Code Playgroud)
由于这仅返回路径并且不需要任何输入,因此您可以在 shell 脚本中使用它。
MySQL当前必须在您的机器上运行才能正常工作。也适用于 MariaDB。