Mysql服务器无法以root身份启动

时间:2016-02-23 01:31:26

标签: mysql

以root身份启动mysql服务器失败。

1.service mysqld start

Starting mysqld:                                           [FAILED]

2.mysqld 错误日志:

  

2016-02-23T01:19:16.961857Z 0 [警告]不推荐使用具有隐式DEFAULT值的TIMESTAMP。请使用--explicit_defaults_for_timestamp服务器选项(有关更多详细信息,请参阅文档)。

     

2016-02-23T01:19:16.963350Z 0 [注意] mysqld(mysqld 5.7.10)以流程20924开始......

     

2016-02-23T01:19:16.965669Z 0 [错误]致命错误:请阅读"安全"手册的一节,了解如何以root身份运行mysqld!

     

2016-02-23T01:19:16.965715Z 0 [错误]中止

     

2016-02-23T01:19:16.965737Z 0 [注意] Binlog结束

     

2016-02-23T01:19:16.965818Z 0 [注意] mysqld:关机完成

但是可以作为mysql用户启动mysql服务,或者使用mysqld_safe作为root也可以启动。什么错了?

  

/etc/init.d/msyqld start

     
    

MySQL守护程序无法启动。

         

启动mysqld:[FAILED]

  
if ! /bin/kill -0 $safe_pid 2>/dev/null; then
    echo "MySQL Daemon failed to start."
    ret=1
    break
fi
... ...
if [ $ret -eq 0 ]; then
    action $"Starting $prog: " /bin/true
    touch $lockfile
else
    action $"Starting $prog: " /bin/false
fi

我在脚本/etc/init.d/mysqld中找到了此代码片段。但不知道为什么?

3 个答案:

答案 0 :(得分:0)

将此行添加到[mysqld]部分

中的/etc/my.cnf
explicit_defaults_for_timestamp = 1

选中此link

答案 1 :(得分:0)

/etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

答案 2 :(得分:0)

由于您可以以mysql用户身份启动,因此您当前可能已将其配置为以root用户身份运行。

Mysql's reference manual说:

  

在Linux上,对于使用MySQL系统信息库,RPM软件包或Debian软件包执行的安装,MySQL服务器mysqld应该由本地mysql操作系统用户启动。安装中包含的初始化脚本不支持由另一个操作系统用户启动。