【问题标题】:Can't connect to '/var/run/mysqld/mysqld.sock'无法连接到“/var/run/mysqld/mysqld.sock”
【发布时间】:2023-03-08 00:47:01
【问题描述】:

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

我正在(或曾经)在 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

提到的here不存在。

另外,我好像无法通过mysql连接

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)

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

非常感谢!!!

【问题讨论】:

    标签: mysql sockets raspbian mysql-error-2002


    【解决方案1】:

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

    systemctl start mysql.service
    mysql -u root -p
    

    【讨论】:

    • 不错!帮助:) 谢谢)
    【解决方案2】:

    1.激活登录.my.cnf

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

    错误记录进入系统日志。这是 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. (选项)删除socket并重启mysql

    【讨论】:

    • 嗨!谢谢你的回答@Ronnin!我已将日志记录添加到 my.cnf...tail 命令给出 /usr/sbin/mysqld,版本:5.5.44-0+deb8u1-log ((Raspbian))。开始于:Tcp 端口:3306 Unix 套接字:/var/run/mysqld/mysqld.sock 时间 ID 命令参数重新启动导致与上述停止和启动相同的错误。我将如何删除套接字?抱歉,如果我没有正确理解您的回答!
    • 先在这里给出1.,2的输出。
    • 1. drwxr-xr-x 2 mysql root 40 Apr 10 13:18 mysqld 2. root 612 1 2 12:07 ? 00:02:00 /bin/sh /usr/bin/mysqld_safe mysql 10174 612 47 13:19 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 pi 10192 3628 0 13:19 pts/0 00:00:00 grep --color=auto mysql
    • 1.停止 mysq (1a。如果停止产生错误,killall mysql,再次使 mysql 不使用 1.,2 运行 ........在 thaht $rm /var/run /mysqld/mysqld.pid 和 $ rm /var/run/mysqld/mysqld.sock........阅读thegeekstuff.com/2011/12/mysqlcheck
    猜你喜欢
    • 2012-08-13
    • 2017-11-08
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 2015-09-25
    相关资源
    最近更新 更多