如何重新启动 MySQL

Dav*_*vid 47 linux mysql ubuntu

我正在运行 MySQL 5.1.54 并使用命令通过终端将其安装在 Ubuntu 上

sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)

我更改了my.cnf文件并想停止然后启动数据库。我试过以下

sudo /usr/bin/mysqld_safe stop
Run Code Online (Sandbox Code Playgroud)

我的问题是如何知道数据库已停止?当我运行上面的命令时,接着

sudo mysql -uuser -ppassword
Run Code Online (Sandbox Code Playgroud)

我可以直接登录回数据库。它不应该告诉我数据库没有运行吗?

有什么建议?谢谢你。

编辑: 我也试过

mysqladmin -uuser -ppassword shutdown
Run Code Online (Sandbox Code Playgroud)

进而

ps aux | grep mysql
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

david    12093  0.0  0.0   6052  1276 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
root     12267  0.0  0.0   6396  1436 pts/1    T    May10   0:00 sudo nano /etc/mysql/my.cnf
root     12269  0.0  0.0   6052  1388 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
mysql    15371  0.3  0.1  55344  9088 ?        Ssl  10:53   0:00 /usr/sbin/mysqld
david    15512  0.0  0.0   5304   864 pts/1    R+   10:54   0:00 grep --color=auto mysql
Run Code Online (Sandbox Code Playgroud)

上面的输出是不是表示 MySQL 已经被关闭了?如果我运行,mysql -uuser -ppassword我仍然可以登录到 mysql。

有什么建议?

小智 90

您应该真正使用位于/etc/init.d.

开始:

sudo /etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)

停止:

sudo /etc/init.d/mysql stop
Run Code Online (Sandbox Code Playgroud)

重新启动/重新加载配置:

sudo /etc/init.d/mysql restart
Run Code Online (Sandbox Code Playgroud)

检查运行状态:

sudo /etc/init.d/mysql status
Run Code Online (Sandbox Code Playgroud)

  • @David 这是唯一正确的答案。`service` 只是一个小程序,可以为您查找正确的 init.d 脚本。即使它向您抛出“错误消息”,`sudo /etc/init.d/mysql start/stop` 仍然完成了它的工作。使用`service` 只是使用启动脚本的“新方式”。要使用`service`,只需在终端上执行:`service mysql stop` 或 start。 (3认同)
  • @David 您是否尝试将它与 sudo 一起使用?像`sudo service mysql stop`? (2认同)

小智 16

在 Ubuntu 机器中,您可以使用以下两个命令重新启动 mysql:

 1. sudo /etc/init.d/mysql restart

 2. # service mysql restart
Run Code Online (Sandbox Code Playgroud)


小智 5

要关闭 mysql,请运行:

mysqladmin -uuser -ppassword shutdown
Run Code Online (Sandbox Code Playgroud)

其中用户和密码是具有适当SHUTDOWN权限的用户的

要检查它是否已关闭:

ps aux | grep mysql
Run Code Online (Sandbox Code Playgroud)

如果出现任何进程('grep' 命令除外),则表示它尚未关闭。