55

我不知道如何解决这个问题:

dyn-72-33-214-45:python mona$ sudo /usr/local/mysql/bin/mysqld stop
2014-09-06 09:49:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-09-06 09:49:04 22992 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-5.6.15-osx10.7-x86_64/data/ is case insensitive
2014-09-06 09:49:04 22992 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2014-09-06 09:49:04 22992 [ERROR] Aborting

2014-09-06 09:49:04 22992 [Note] Binlog end
2014-09-06 09:49:04 22992 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
4

14 回答 14

94

我正在使用 OS X (Yosemite),当我从 Mavericks 升级到 Yosemite 时,这个错误发生在我身上。使用这个命令解决了

sudo /usr/local/mysql/support-files/mysql.server start
于 2014-10-19T12:28:24.887 回答
26

如果您使用 root 登录,您可以试试这个:

mysqld --user=root
于 2020-03-06T07:41:34.047 回答
13

MySQL 守护进程不应以root(通常)没有任何限制的系统用户身份执行。

根据您的 cli,我想您想改为执行 initscript:

sudo /etc/init.d/mysql stop

另一种方法是使用 mysqladmin 工具(注意,root这里是 MySQL root 用户,而不是系统 root用户):

/usr/local/mysql/bin/mysqladmin --port=8889 -u root shutdown
于 2014-09-06T13:54:58.343 回答
7

在Amazon Linux AMIcentOS上试试这个

sudo service mysqld restart
于 2018-01-31T16:43:47.310 回答
5

我如何解决这个问题是在这个网址的第四点之后:https ://dev.mysql.com/doc/refman/8.0/en/chang-mysql-user.html

  1. 编辑 my.cnf
  2. user = root在文件的 [mysqld] 组下添加

如果这不起作用,请确保您已更改默认密码。

于 2019-12-20T08:33:24.640 回答
2

我也有同样的问题,使用下面的命令后能够解决

/root/mysql-sandboxes/3320/bin/mysqld --defaults-file=/root/mysql-sandboxes/3320/my.cnf  --user=root &
于 2020-04-30T01:39:10.623 回答
1

osx 可能正在使用 launchctl 来启动 mysql。尝试这个:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist
于 2014-09-06T14:18:14.030 回答
1

多纳尔为我提供了正确的解决方案。但是,2017 年的更新plist名称是

com.oracle.oss.mysql.mysqld.plist.
于 2017-11-28T16:33:18.473 回答
1

就我而言(RHEL7 和 MariaDB),这是可行的。

sudo systemctl restart mariadb
于 2018-02-28T18:52:13.893 回答
0

除了@mise 的回答, 在我安装 MacOS Mojave 之后,我还必须更改我所有 MAMP 目录和内容的文件所有权)。

从 Finder 中,我进入Application/MAMP,显示文件信息 ( cmd+ i),并在权限部分添加了自己的读写权限,然后将小工具应用于所有孩子。

于 2019-01-28T01:11:47.883 回答
0

在 CentOS 上对我有用的正确答案是

/etc/init.d/mysql restart

这是一个初始化脚本,而不是 /etc/init.d/mysqld restart,它是二进制的

这实际上是@MrTux 对对我有用的问题的评论。我花了很多时间,因此将其发布为答案。

于 2019-02-23T12:19:43.620 回答
0

要从命令行以 root 用户身份运行 mysqld,您需要添加开关/选项 --user=root

mariadb 以系统 root 用户身份运行

于 2019-12-23T23:12:24.443 回答
0

我在 Minikube(Ubuntu 盒子)上运行 MySQL 时遇到了这个问题,我通过以下方式解决了这个问题:

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
于 2020-06-07T17:20:22.360 回答
0

很奇怪,但是当我在my.cnf文件中输入错误时出现了这个错误。
因此,它与user未定义或未以root-user 身份运行的指令无关。

我的错误是:

bind=192.168.1.2

代替

bind-address=192.168.1.2
于 2020-12-17T15:00:04.407 回答