【问题标题】:mysqld_safe does not allow MySQL connectionmysqld_safe 不允许 MySQL 连接
【发布时间】:2014-05-28 12:55:15
【问题描述】:

如果没有出现以下错误,我无法启动 mysqld:

[root@alarm ~]# mysqld
140414 16:01:04 [ERROR] Fatal error: Please read "Security" section of the manua l to find out how to run mysqld as root!

140414 16:01:04 [ERROR] Aborting

140414 16:01:04 [Note] mysqld: Shutdown complete

如果我尝试启动 mysql,它会告诉我它无法通过套接字“/run/mysqld/mysqld.sock”连接到本地 mysql 服务器。我通过运行 mysqld_safe 而不是 mysqld 解决了这个问题。这已停止工作,我现在收到以下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mys qld/mysqld.sock' (2)

我在 Archlinux 发行版上使用 mariadb。有谁知道如何解决这个问题?

编辑 1:

史蒂夫,我设法通过使用 systemctl 启动了 mysqld 服务,如下所示:

[root@alarm ~]# ps aux | grep mysql
mysql      880  1.0 10.3 514276 52776 ?        Ssl  09:30   0:01 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid
root      1618  0.0  0.1   4032   936 pts/0    S+   09:31   0:00 grep mysql

当我尝试运行mysql时,我仍然得到错误:

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

【问题讨论】:

    标签: mysql mariadb archlinux


    【解决方案1】:

    ----- 原始建议-----

    尝试运行(以 root 身份):

    systemctl start mysqld
    

    如果这不起作用,请回帖说明是否返回了相同的错误。

    -- 进一步的建议 -----

    太好了,至少 MySQL 现在已经启动了。 有几件事要检查:

    1) 套接字文件真的存在吗?如果不运行 touch /run/mysqld/mysqld.sock 来创建它并查看是否有帮助,您可能需要将文件更改为 mysql 用户拥有/可写;

    2) 你有没有检查你的my.cnf 文件来检查mysql 的配置是否正确?

    3) 如果上述方法没有帮助,我建议尝试使用 --verbose 标志再次启动 mysql,以便获得更详细的错误输出

    【讨论】:

    • 嘿史蒂夫。请查看我对问题所做的编辑:)
    • 答案即将修改... 5 分钟 :)
    • 另请参阅此 URL 上的任何建议是否有帮助:bbs.archlinux.org/viewtopic.php?id=160277
    • 谢谢!我在我的代码中发现了一个错误,它没有正确关闭 MySQL 连接。奇怪它是如何给我套接字错误的?!任何人,现在已修复,感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多