Systemd Mysql 不会停止

Cra*_*ord 16 mysql systemd 15.04

升级到 15.04 后,我在了解 systemd 时获得了很多乐趣。我想我一切正常,除了无法停止 mysql.service;systemctl 命令只是挂起,而 mysql 只是继续运行。有没有其他人经历过这个或可能知道发生了什么?

小智 26

我遇到了同样的问题(升级到 15.04,使用官方文件和配置)。

我必须进行以下更改才能mysql手动停止守护程序sytemctl并在系统重新启动/关闭时自动停止:

  1. 使用户/etc/mysql/debian.cnf可读mysql

    sudo chgrp mysql /etc/mysql/debian.cnf; sudo chmod 640 /etc/mysql/debian.cnf
    
    Run Code Online (Sandbox Code Playgroud)
  2. 提供一个稍微修改的mysql.service文件:

    sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
    sudo chmod 755 /etc/systemd/system/mysql.service
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通过在编辑器中打开复制的文件来提供显式停止命令:

    sudo nano /etc/systemd/system/mysql.service
    
    Run Code Online (Sandbox Code Playgroud)

    并在该[Service]部分下添加以下行:

    ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown
    
    Run Code Online (Sandbox Code Playgroud)

    在 Nano 中,使用 Ctrl+O 保存(Linux 方式!),使用 Ctrl+X 退出。

  4. 使系统知道新的服务文件:

    sudo systemctl daemon-reload
    
    Run Code Online (Sandbox Code Playgroud)