MySQL server through socket '/tmp/mysql.sock' (2)

本文针对无法通过本地'socket'/tmp/mysql.sock连接MySQL的问题提供多种解决方案,包括调整max_connections参数、修改socket路径设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天连接mysql数据库的时候遇到一个问题:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)



参考网上相关的方法,包括:(http://blog.youkuaiyun.com/lmss82/archive/2009/08/05/4414178.aspx)

方案1.
1.#ps -A|grep mysql
显示类似:
1829 ? 00:00:00 mysqld_safe
1876 ? 00:00:31 mysqld
2.#kill -9 1829
3.#kill -9 1876
4.#/etc/init.d/mysql restart
5.#mysql -u root -p

他的麻烦解决了,我的还没解决!

继续找
方案2
先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.
------------------------------------------------------------------------------------
[root @localhost beinan]#chown -R mysql:mysql /var/lib/mysql
[root @localhost beinan]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root @localhost lib]# mysqladmin -uroot password '123456'
[root @localhost lib]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 3 to server version: 4.1.11

Type 'help;' or '/h' for help. Type '/c' to clear the buffe

他的也解决了,我的麻烦还在继续,依然继续寻找

方案3
问题解决了,竟然是max_connections=1000 他说太多了,然后改成500也说多,无奈删之问题解决了。

还是不行
方案4

/var/lib/mysql 所有文件权限 改成mysql.mysql

不行不行

方案5
摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:
  [mysql d]
  socket=/var/lib/mysql .sock
  改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点:
  [mysql ]
  socket=/tmp/mysql .sock
  或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找
  
  或者用这样的方法:
  ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

OK!



但我的系统中没有找到mysql.sock文件,只有mysqld.sock文件,/var/run/mysqld/mysqld.sock

于是仿照上面的做法: ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

这样,可以正常连接数据库了

转载于:https://my.oschina.net/netmouse/blog/184658

当你遇到"Can't connect to local MySQL server through socket '/tmp/mysql.sock'"错误时,这意味着MySQL客户端无法通过指定的UNIX socket连接到MySQL服务器。UNIX socket是一种在同一台机器上的进程之间进行通信的方法。 该错误通常出现在以下情况下: 1. MySQL服务器没有运行或已经关闭。 2. MySQL服务器正在运行,但UNIX socket文件路径不正确。 3. 对UNIX socket文件路径的访问权限不正确。 要解决此问题,您可以按照以下步骤进行操作: 1. 确保MySQL服务器正在运行。您可以使用以下命令检查MySQL服务器的状态: ``` /usr/local/mysql/bin/mysqladmin -u root -S /var/lib/mysql/mysql.sock status ``` 2. 检查UNIX socket文件的路径是否正确。默认情况下,MySQL UNIX socket文件的路径为`/tmp/mysql.sock`,但在某些情况下,可能已被更改为其他位置。您可以使用以下命令查找UNIX socket文件的路径: ``` mysql_config --socket ``` 3. 如果UNIX socket文件路径不正确,您可以通过编辑MySQL配置文件来更正。MySQL配置文件通常位于`/etc/my.cnf`或`/etc/mysql/my.cnf`,您可以使用任何文本编辑器打开它并找到`socket`参数。将其更改为正确的路径,并保存更改。 4. 确保对UNIX socket文件的访问权限正确。MySQL服务器和客户端都需要对UNIX socket文件具有适当的访问权限。您可以使用以下命令更改文件权限: ``` sudo chmod 777 /tmp/mysql.sock ``` 通过执行上述步骤,您应该能够解决"Can't connect to local MySQL server through socket '/tmp/mysql.sock'"错误,并成功连接到MySQL服务器。 参考文献: ERROR 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) mysql.sock 这个文件有什么用?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值