mysqld_safe 不允许连接 MySQL

标签 mysql mariadb archlinux

如果没有收到以下错误,我就无法启动 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)

最佳答案

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

尝试运行(以 root 身份):

systemctl start mysqld

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

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

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

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

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

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

关于mysqld_safe 不允许连接 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23062217/

相关文章:

java - 用于部署 Java "Side By Side"和工具的 Linux 标准?

mysql - 我没有被告知如何运行,如何找出存储过程的参数

mysql - 使用另一个表中的列值填充 MySQL 中的列

docker - 使用docker-compose在Dockerfile中运行回显失败

mysql - MariaDB CURRENT_TIMESTAMP 默认值

python + gstreamer 插件

linux - 修复 pacman 中的 "Target not found"(可能是 pacman.conf 的镜像列表

Mysql Group By 查询性能非常慢

java - 无法持久化对象

mysql - 如何在数据库左 Pane 中恢复 PHPMyAdmin 函数 View