mysql奇怪的连接问题
Posted
技术标签:
【中文标题】mysql奇怪的连接问题【英文标题】:Mysql weird connection problem 【发布时间】:2010-12-17 16:16:01 【问题描述】:我有一个奇怪的问题。我的 ubuntu 9.04 上安装了 mysql 5.1。
我已经使用了很长时间(比如 3 个月),一切正常。直到我遇到了这个非常奇怪的问题。
当我想连接到随机数据库时,我会收到以下消息:
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1
Current database: test_cake
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server
它只发生在某些数据库中,而其他数据库则完全有用且健康。之后,如果我尝试重新启动服务器,我会得到这个。
shell> /etc/init.d/mysql restart
* Stopping MySQL database server mysqld cat: /var/run/mysqld/mysqld.pid: Permiso denegado
[fail]
* Starting MySQL database server mysqld cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
cat: /var/run/mysqld/mysqld.pid: Permiso denegado
[fail]
("permiso denegado" is "permission denied").
我不知道该怎么办。我更改了 /var/run/mysqld/mysqld.pid 属性但仍然无法正常工作。
谁能帮帮我?
【问题讨论】:
【参考方案1】:看看这是否可行:
su (become root)
su mysql (become user mysql, or whatever account mysql runs as)
cd /var/run/mysqld (see if the directory is accessible to mysql)
cat mysqld.pid (see if the file is accessible)
【讨论】:
它是可访问的。无论如何,它发生在某些数据库上。如果我选择另一个(使用“使用”命令)我可以正常操作。 其实.pid文件需要写权限。尝试“echo >>mysqld.pid #testing”作为mysql。 如果文件不存在怎么办?? 我用的是centos @NagaLokeshKannumoori:如果echo >>mysqld.pid #testing
有效,文件就会在那里。如果不是,它应该给出一个错误,这将有助于诊断。例如,user mysql 可能无法写入目录(因此更改目录所有权和权限),或者设备可能已满(因此清除不需要的文件)等.以上是关于mysql奇怪的连接问题的主要内容,如果未能解决你的问题,请参考以下文章
我的 SQLAlchemy MySQL 连接总是以休眠结束,这很奇怪吗?
奇怪的 MySQL JOIN,我想包含匹配项并且没有来自连接的匹配项