【问题标题】:mysql.sock not found, where can i find it?找不到 mysql.sock,我在哪里可以找到它?
【发布时间】:2015-02-14 05:08:29
【问题描述】:

在 CentOS 7 机器上,当我尝试从终端登录 mysql 时出现以下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

然后我尝试了cd /var/lib/mysqlls -al,但生成的文件列表不包含mysql.sock那么我在哪里可以找到mysql.sock,我该如何解决这个错误?

以下是我已经尝试过的一些方法:

1.) 当我看到systemctl status mysqld显示mysql已停止时,我也尝试了systemctl start mysqld,但终端只是给出了一个无响应的光标,没有新的提示,就好像它在等待什么,但它无限期地保持在那种边缘状态。

2.) 于是我打开了另一个终端窗口并运行systemctl status mysqld,却发现mysqld 再次启动。但错误仍然存​​在。

3.) 我试过find / -name "mysql.sock",但回复是find: ‘/run/username/1000/gvfs’: Permission denied

4.) 然后我读了this posting 并尝试了mysqladmin | grep d.sock,但没有结果。

5.) 我什至求助于yum remove mysql,然后是yum install mysql,但随后mysql -u root 在这篇帖子的顶部仍然给出了相同的原始错误。

6.) 然后我读了this other posting,但是mysqladmin variables 给出了同样的错误,因为找不到mysql.sock,所以它无法连接。

7.) 我尝试了ln -s /tmp/mysql.sock /var/mysql/mysql.sock,但即使在我尝试cd /var/lib/mysql/ls -al 时可以看到指向mysql 的链接,同样的错误仍然存​​在

8.) 由于问题可能与systemctl start mysqld 挂断有关,我阅读了this posting 并尝试了chown -R mysql:mysql /var/lib/mysqlsystemctl start mysqld,但结果是Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

9.) 然后我阅读了this posting,这导致我运行mysql --help | grep "Default options" -A 1。结果打印了mysql 查找my.cnf 的位置。因此,我检查了每个位置,没有找到my.cnf 文件。但是我确实找到了mysql.cnf.rpmsave,所以我尝试了mv mysql.cnf mysql.cnf.rmpsave。这导致预期目录中有my.cnf,但systemctl status mysqld 表示找不到mysqld。我再次尝试yum install mysql,但它告诉我mysql 已经安装。 所以我怀疑新重命名的my.cnf 已损坏。如果是这样,我该如何解决?Here is the link 复制到文件共享站点上新重命名的my.cnf 的副本。

【问题讨论】:

  • 你修好了吗???

标签: mysql linux centos


【解决方案1】:

意识到这是一篇旧帖子,但我自己刚刚发现了这个,发现很难找到合适的解决方案。我通过执行以下操作解决了它:

  1. 安装zlib:

    32-Bit Debian/Ubuntu: apt-get install zlib1g
    64-Bit Debian/Ubuntu: apt-get install lib32z1
    32/64-Bit Fedora: yum install zlib.i686
    32/64-Bit Mandriva: urpmi zlib1
    32-Bit SUSE: zypper install libz1
    64-Bit SUSE: zypper install libz1-32bit
    
  2. 连接到127.0.0.1 而不是localhost(如果您可以使用该选项)。 MySQL 通过127.0.0.1localhost 连接使用不同的方法(前者为TCP,后者为Sock)

  3. 确保您的防火墙没有在内部阻止端口,或许考虑暂时禁用它以确保不是这种情况。

【讨论】:

  • 感谢您和 +1 抽出宝贵时间来深入了解这个老问题。
【解决方案2】:

这里是Detailed example,告诉您如何解决此问题。如果您严格遵循所有这些步骤,那么您应该及时修复它。

【讨论】:

  • 您发送的链接无效。 Step 2 表明两个文件夹中都没有 mysql.sock。而/usr/bin/mysql_install_db 中的step 6 则抛出了一个错误。任何人都可以在谷歌上搜索一个教程链接,比如你的答案中的那个。上面我的原始帖子中列出的尝试次数表明我已经对此进行了大量的网络研究。我希望有人能真正看到这个,而不是像我在发布之前那样做一个快速的谷歌搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-03
  • 2014-07-16
  • 2012-05-30
  • 2013-07-13
  • 2012-06-05
  • 2011-04-24
  • 2021-02-02
相关资源
最近更新 更多