【问题标题】:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(111) even the /var/lib/mysql/mysql.sock exists即使 /var/lib/mysql/mysql.sock 存在,也无法通过套接字 '/var/lib/mysql/mysql.sock'(111) 连接到本地 MySQL 服务器
【发布时间】:2017-12-01 00:26:44
【问题描述】:

即使 /var/lib/mysql/mysql.sock 存在,也无法通过套接字 '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器。

手头的东西:

  • my.cnf 文件指向 /var/lib/mysql/mysql.sock。
  • mysql.sock 允许由所选用户读取/执行。
  • 以前 mysql 工作正常。我检查了日志文件,它说“数据库未正常关闭”。

不能做的事: mysql.sock 不可下载。 我认为 mysql.sock 有问题。

感谢您的回答。

【问题讨论】:

  • 欢迎来到 Stack Overflow。我经常看到你的问题,你的问题很可能已经被 Stack Overflow 上的许多现有问题之一回答了。但是你没有提供足够的信息来说明你做了什么或错误是什么。我建议您阅读本页右侧“相关”问题栏中链接的部分(或全部)答案。

标签: mysql centos7


【解决方案1】:

尝试搜索文件“my.cnf”,通常位于文件夹“/etc/mysql/”中。创建备份以防万一。 像这样编辑它:

socket   = /var/run/mysql/mysql.sock
port     = 3306
basedir  = /usr

并且,请确认您的用户是否被允许阅读“mysql.sock”。

【讨论】:

  • 文件夹是 mysql 不是 mysqld 我应该创建 mysqld 文件夹吗?
【解决方案2】:

使我退出该错误的原因是:

rm -rf /var/lib/mysql
rm -rf /var/run/mysqld
mkdir -p /var/lib/mysql /var/run/mysqld
chown -R mysql:mysql /var/lib/mysql /var/run/mysqld
# ensure that /var/run/mysqld (used for socket and lock files) is writable regardless of the UID our mysqld instance ends up having at runtime
chmod 777 /var/run/mysqld

我在 hub.docker.com 的 mysql 8.0 的 Dockerfile 中得到了这个答案: https://github.com/docker-library/mysql/blob/3362baccb4352bcf0022014f67c1ec7e6808b8c5/8.0/Dockerfile

【讨论】:

    猜你喜欢
    • 2016-05-23
    • 1970-01-01
    • 2011-05-25
    • 2018-10-09
    • 2012-10-14
    • 1970-01-01
    相关资源
    最近更新 更多