欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu下mysql服务重启失败解决思路

程序员文章站 2024-03-05 15:39:19
...

今天,在遇到ERROR 1290 (HY000): running with the –secure-file-priv错误,根据网上提示(参考),在配置文件my.cnf添加
通过命令 find / -name my.cnf 或者locate my.cnf查找配置文件所在位置。

secure_file_priv='/var/lib/mysql-files/'

接着重启mysql服务,出现提示:

root@vultr:~/weixin/wx# /etc/init.d/mysql restart
[....] Restarting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code.
See "systemctl  status mysql.service" and "journalctl  -xe" for details.

按照上面提示通过systemctl status mysql.service”或者 “journalctl -xe”查看

[email protected]:~/weixin/wx# systemctl  status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Sat 2018-06-23 06:25:25 UTC;
  Process: 19444 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 19428 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, stat
 Main PID: 19444 (code=exited, status=1/FAILURE); Control PID: 19445 (mysql-systemd-s)
    Tasks: 2 (limit: 4915)
   Memory: 484.0K
      CPU: 82ms
   CGroup: /system.slice/mysql.service
           └─control
             ├─19445 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─19481 sleep 1

Jun 23 06:25:25 vultr.guest systemd[1]: mysql.service: Service hold-off time over, schedu
Jun 23 06:25:25 vultr.guest systemd[1]: Stopped MySQL Community Server.
Jun 23 06:25:25 vultr.guest systemd[1]: Starting MySQL Community Server...
Jun 23 06:25:25 vultr.guest mysql-systemd-start[19428]: my_print_defaults: [ERROR] Found 
Jun 23 06:25:25 vultr.guest mysql-systemd-start[19428]: my_print_defaults: [ERROR] Fatal 
Jun 23 06:25:25 vultr.guest mysqld[19444]: mysqld: [ERROR] Found option without preceding
Jun 23 06:25:25 vultr.guest mysqld[19444]: mysqld: [ERROR] Fatal error in defaults handli
Jun 23 06:25:25 vultr.guest systemd[1]: mysql.service: Main process exited, code=exited, 
lines 1-22/22 (END)

[email protected]:~/weixin/wx# journalctl -xe
-- Unit mysql.service has failed.
-- 
-- The result is failed.
Jun 23 06:25:55 vultr.guest systemd[1]: mysql.service: Unit entered failed state.
Jun 23 06:25:55 vultr.guest systemd[1]: mysql.service: Failed with result 'exit-code'.
Jun 23 06:25:56 vultr.guest systemd[1]: mysql.service: Service hold-off time over, schedu
Jun 23 06:25:56 vultr.guest systemd[1]: Stopped MySQL Community Server.
-- Subject: Unit mysql.service has finished shutting down
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit mysql.service has finished shutting down.
Jun 23 06:25:56 vultr.guest systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit mysql.service has begun starting up.
Jun 23 06:25:56 vultr.guest mysql-systemd-start[19524]: my_print_defaults: [ERROR] Found 
Jun 23 06:25:56 vultr.guest mysql-systemd-start[19524]: my_print_defaults: [ERROR] Fatal 
Jun 23 06:25:56 vultr.guest smbd[19512]: pam_unix(samba:session): session closed for user
Jun 23 06:25:56 vultr.guest mysqld[19540]: mysqld: [ERROR] Found option without preceding
Jun 23 06:25:56 vultr.guest mysqld[19540]: mysqld: [ERROR] Fatal error in defaults handli
Jun 23 06:25:56 vultr.guest systemd[1]: mysql.service: Main process exited, code=exited,

这些错误提示看得让我一脸懵逼,我能怎么办?看几遍也没啥收获,ok,往深一步想想系统自带的log日志会不会有这写错误,查看mysql目录,tail -10 /var/log/mysql/error.log,什么输出也没有。。。那其它日志是否有记录这个错误,往上一层看,看到syslog,突然想起些什么。(原来syslog日志记录了很多详细信息,其中有进程id和正文)

[email protected]:~/weixin/wx# cat /var/log/syslog
Jun 23 06:25:25 vultr systemd[1]: Failed to start MySQL Community Server.
Jun 23 06:25:25 vultr systemd[1]: mysql.service: Unit entered failed state.
Jun 23 06:25:25 vultr systemd[1]: mysql.service: Failed with result 'exit-code'.
Jun 23 06:25:25 vultr systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Jun 23 06:25:25 vultr systemd[1]: Stopped MySQL Community Server.
Jun 23 06:25:25 vultr systemd[1]: Starting MySQL Community Server...
Jun 23 06:25:25 vultr mysql-systemd-start[19428]: my_print_defaults: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 22!
Jun 23 06:25:25 vultr mysql-systemd-start[19428]: my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
Jun 23 06:25:25 vultr mysqld[19444]: mysqld: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 22!
Jun 23 06:25:25 vultr mysqld[19444]: mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
Jun 23 06:25:25 vultr systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

看到上面有一句说22行,把这一句翻译过来大概的意思就是:“my.cnf添加了22行信息,并没有在前面找到[mysql]选项”。最后在配置文件开头加上[mysqld],重新启动成功。

总结:
有时候通过特定提示看到的错误提示并没有解决,当然英语好也许一眼看出systemctl status mysql.service或者 journalctl -xe上面的提示。当然方法我相信还是有的,万能的系统自带日志,看着一类日志,往往更容易查到错误提示。

相关标签: 错误提示