首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接到“/var/run/mysqld/mysqld.sock”

无法连接到“/var/run/mysqld/mysqld.sock”
EN

Stack Overflow用户
提问于 2016-04-10 18:21:41
回答 2查看 9.3K关注 0票数 2

这是我在这里的第一篇文章,所以我希望我做的每一件事都是正确的,不要忘记任何重要的信息。我很高兴有任何提示,因为我已经没有想法了(如果我曾经有过的话;)。

我现在(或者曾经)在Raspbian Jessie上运行owncloud (所以我猜基本上是Debian)。owncloud突然停止了工作。nginx错误指向php5-fpm,进一步搜索得到以下错误:

代码语言:javascript
复制
exception 'Doctrine\DBAL\DBALException' with message 'Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' in /var/www/owncloud/lib/private/db/connection.php:54

所以它看起来像是mysql错误,而/var/run/mysqld/实际上是空的。

12这些帖子之后,我尝试了

代码语言:javascript
复制
sudo find / -type s

产生以下输出:

代码语言:javascript
复制
/run/php5-fpm.sock
/run/fail2ban/fail2ban.sock
/run/thd.socket
/run/dhcpcd.unpriv.sock
/run/dhcpcd.sock
/run/dbus/system_bus_socket
/run/avahi-daemon/socket
/run/udev/control
/run/systemd/journal/syslog
/run/systemd/journal/socket
/run/systemd/journal/stdout
/run/systemd/journal/dev-log
/run/systemd/shutdownd
/run/systemd/private
/run/systemd/notify
find: `/proc/30933/task/30933/fd/5': No such file or directory
find: `/proc/30933/task/30933/fdinfo/5': No such file or directory
find: `/proc/30933/fd/5': No such file or directory
find: `/proc/30933/fdinfo/5': No such file or directory

另一方面,在使用top的进程中,出现了mysqld和mysqld_safe。安装mysql-client、mysql-server和php5-mysql,并将其更新到最新版本。

我还看了一下

代码语言:javascript
复制
/etc/mysql/my.cnf
/etc/mysql/debian.cnf

两者都将/var/run/mysqld/mysqld.sock显示为套接字...

代码语言:javascript
复制
/var/lib/mysql/my.cnf

提到的here不存在。

此外,我似乎无法通过以下方式连接mysql

代码语言:javascript
复制
mysql -u user -p

至少它还会导致错误2002。

最后,我尝试停止和启动mysql服务。这导致了以下输出

代码语言:javascript
复制
systemctl status mysql.service

mysql.service - LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql)
Active: failed (Result: exit-code) since So 2016-04-10 11:54:23 CEST; 23s ago
Process: 9777 ExecStop=/etc/init.d/mysql stop (code=exited, status=0/SUCCESS)
Process: 12878 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)

所以我有点迷失了到底是怎么回事,问题发生在几天前的一些更新之后。在写这篇文章的时候,为了安全起见,我再次经历了所有的步骤。有一次,我在浏览器中短暂地瞥了一眼我自己的云实例,但随后它又消失了。所以我很感谢大家的帮助/提示!

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2017-11-30 03:41:24

我遇到的问题是:无法连接到'/var/run/mysqld/mysqld.sock‘。问题是mysql服务在安装后没有启动。一旦我运行了下面的命令,它就能正常工作:

代码语言:javascript
复制
systemctl start mysql.service
mysql -u root -p
票数 2
EN

Stack Overflow用户

发布于 2016-04-10 18:30:33

1.在.my.cnf中激活日志

代码语言:javascript
复制
 log        = /var/log/mysql/mysql.log

将错误日志记录到syslog。这是对Debian的改进:)

在这里,您可以看到持续时间特别长的查询

代码语言:javascript
复制
log_slow_queries    = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes

  1. $ ls -l /var/run/ | grep mysqld
  2. $ ps -ef |grep mysql
  3. tail -f /var/log/mysql/mysql.log
  4. restart mysql
  5. (option)删除套接字并重新启动mysql
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36528518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档