![错误 2002 (HY000):无法通过套接字“/tmp/mysql.sock”连接到本地 MySQL 服务器 (2)](https://linux22.com/image/516056/%E9%94%99%E8%AF%AF%202002%20(HY000)%EF%BC%9A%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E5%A5%97%E6%8E%A5%E5%AD%97%E2%80%9C%2Ftmp%2Fmysql.sock%E2%80%9D%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%9C%AC%E5%9C%B0%20MySQL%20%E6%9C%8D%E5%8A%A1%E5%99%A8%20(2).png)
有人能帮忙吗,我花了一整天试图解决这个问题。我安装了最新的 XAMPP,现在我无法从终端连接到 mysql。我检查了我的 .profile 文件,PATH 似乎没问题。有人知道发生了什么吗?解决方案是什么?
PATH=$PATH:/Applications/XAMPP/xamppfiles/bin 导出路径
这是一个编程问题,因为我是一名 PHP 开发人员,正在努力做好我的工作!
提前非常感谢您;-)
更新:解决方案是使用 .bash_profile 更新(以及 .profile 文件)
PATH=$PATH:/Applications/XAMPP/xamppfiles/bin 导出路径
花了一整天的时间试图解决这个问题,所以我希望这对处于同样境地的任何人有所帮助 ;-) http://www.jroller.com/jnicho02/entry/setting_up_xampp_on_the(优质链接)
答案1
这可能是两个问题之一 —— mysql 没有运行,或者 mysql 没有将套接字文件放入/tmp
。
如果mysql
命令行程序运行正常,则数据库已启动,只是 php 编译时套接字文件的位置错误。如果在任何 其他位置,您只需从 PHP 查找的位置添加一个符号链接到正确的位置即可,但是由于/tmp
在重新启动时会被清除,因此您要么需要更改my.cnf
要将其写入的位置/tmp
(可能会破坏其他东西),要么需要重新编译 PHP 并选择让它在正确的位置查找,或者您可以将以下内容添加到 cron:
@reboot ln -s /var/mysql/mysql.sock /tmp/mysql.sock
... 调整/var/mysql/mysql.sock
至正确位置。
如果 mysql 没有运行,常见问题是它没有设置为在重启后启动,或者遇到了一些错误。检查错误日志以获取任何信息,如果自上次重启以来没有任何信息,则需要按照您的偏好设置方法将其设置为在重启时启动。