2

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

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

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之后,我尝试了

sudo find / -type s

导致此输出:

/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 已安装并更新到最新版本。

我也看过

/etc/mysql/my.cnf
/etc/mysql/debian.cnf

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

/var/lib/mysql/my.cnf

这里提到的不存在。

另外,我似乎无法通过

mysql -u user -p

至少它也会导致错误 2002。

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

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)

所以我有点迷失了发生了什么,这个问题发生在几天前的一些更新之后。在写这篇文章时,为了安全起见,我再次完成了所有步骤。有一次,我在浏览器中瞥见了自己的云实例,但随后又消失了。所以我感谢任何帮助/提示!!!

非常感谢!!!

4

2 回答 2

2

我遇到了这个问题:无法连接到“/var/run/mysqld/mysqld.sock”。问题是安装后没有启动mysql服务。一旦我运行以下命令,它就会正常工作:

systemctl start mysql.service
mysql -u root -p
于 2017-11-29T19:41:24.437 回答
0

1.激活登录.my.cnf

 log        = /var/log/mysql/mysql.log

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

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

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. 重启mysql
  5. (选项)删除套接字并重新启动mysql
于 2016-04-10T10:30:32.857 回答