无法在cents 0s 6.10上启动Mysql 5.7

时间:2018-11-05 17:16:28

标签: mysql security centos root

我正在尝试在CentOS 6.10上设置MySql 5.7。我已经安装了MySQL,但是当我尝试运行sudo service mysqld start时,它没有启动。错误是

2018-11-05T17:14:57.569757Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-11-05T17:14:57.573328Z 0 [Note] mysqld (mysqld 5.7.24) starting as process 10355 ...
2018-11-05T17:14:57.575610Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2018-11-05T17:14:57.575652Z 0 [ERROR] Aborting

2018-11-05T17:14:57.575671Z 0 [Note] Binlog end
2018-11-05T17:14:57.575741Z 0 [Note] mysqld: Shutdown complete

我想这与选择用户类型为root有关,但是我不知道该怎么做。有人可以帮忙吗?谢谢

1 个答案:

答案 0 :(得分:1)

看起来mysqld已配置为现在以root用户身份运行,这不是推荐的运行方式-因此,硬性警告迫使您更改配置。相反,您应该以安装软件包时为您创建的mysql用户身份运行。

通过查看my.cnf的[mysqld]部分,可以看到用户mysqld已设置为在该用户下运行。看来您很可能拥有user=root,或者正在应用--user=root的命令行标志。

最佳做法是将其配置为使用非特权的mysql用户。


相关文档

How to Run MySQL as a Normal User文档页面指示:

  

MySQL服务器mysqld应该由本地mysql操作系统用户启动。安装中包含的初始化脚本不支持由另一个操作系统用户启动。

MariaDB(MySQL的一个分支)提供了一个名为Running mysqld as root的文档页面,该页面指示:

  

MariaDB通常不应以系统的根用户身份运行(这与MariaDB根用户无关)。如果是这样,则具有FILE特权的任何用户都可以以root用户身份创建或修改服务器上的任何文件。

     

MariaDB通常会返回该错误致命错误:请阅读手册的“安全性”部分,以了解如何以root身份运行mysqld!如果您尝试以root用户身份运行mysqld。如果出于某种原因需要覆盖此限制,请使用user = root选项启动mysqld。

     

更好的做法(在大多数情况下为默认设置)是使用一个单独的用户,专门用于MariaDB。在大多数发行版中,此用户称为mysql。