如何启动/停止 mysql 服务器?

use*_*011 257 mysql sudo

我试图在一些描述如何正确启动和停止 mysql 服务器的文章中找到。

我找到了这个链接:如何在 Ubuntu 8.04 上启动/停止 MySql 服务器 | 阿比的博客世界

我运行了这个命令:

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

但我看到这个错误

ERROR 1045 (28000) Access denied for user....
Run Code Online (Sandbox Code Playgroud)

在我尝试了这个命令之后:

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

我输入了密码,但我再次看到相同的错误。

下一个命令:

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

结果是:

ERROR 1049 (42000) Unknown database 'start'.
Run Code Online (Sandbox Code Playgroud)

当我运行这个命令时:

sudo service mysql start
Run Code Online (Sandbox Code Playgroud)

MySQL 服务器成功启动。凉爽的!

那么,其他命令有什么问题呢?为什么它们会导致错误?

Cae*_*ium 280

您的前两个命令没有以 root 身份运行,因此这是预期的行为。您需要成为 root 用户才能停止/启动 mysql。

然而:

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

应该管用。确实如此,对我来说:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Run Code Online (Sandbox Code Playgroud)

我使用了重新启动而不是启动,因为它已经在运行,但效果是一样的。您确定您输入的密码正确吗?:) 你有没有编辑过你的 sudo 配置,这会阻止这个工作?

这个..

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

论据是错误的。一个 init.d 脚本只需要startorstoprestart- 一个词告诉它要做什么。你不能像你试图做的那样给它多个参数。

无论如何,简短的答案是您实际开始工作的方法,是推荐的方法。service随着时间的推移正在替换所有 init.d 脚本,因此您应该养成使用service. 你链接到的页面是 2008 年写的,所以必须加点盐:)

  • 也试试 sudo service mysql start (14认同)
  • Ubuntu 16.04 及更高版本的`sudo systemctl start mysql`怎么样? (9认同)
  • `sudo /etc/init.d/mysql restart` 为我重新启动了 MySQL (3认同)
  • `start mysql` 对我有用(Ubuntu 12.04.4)。 (2认同)

小智 106

还有助于仔细检查“mysql”是否是正确的服务名称。在我的情况下不是。我不断收到以下响应:mysql:运行时无法识别的服务

service mysql status 
Run Code Online (Sandbox Code Playgroud)

然后我检查了 /etc/init.d 并找到了名为 mysqld 的脚本,其中列出了进程名称:mysqld 和 prog=mysqld

所以我做了

service mysqld status
service mysqld stop
service mysqld start 
Run Code Online (Sandbox Code Playgroud)

他们都工作得很好。

  • 对于 14.10,我需要使用“mysql”而不是 mysql**d** (14认同)
  • 至少在 13.10 上,您需要以 root 权限运行它。例如,“sudo 服务 mysql 状态”。 (7认同)
  • `mysql:无法识别的服务` (5认同)

Luc*_*cio 36

对于 Ubuntu 12.10 到 14.04(新贵

较新版本的 Ubuntu 使用systemd

启动MYSQL:

sudo start mysql
Run Code Online (Sandbox Code Playgroud)

重启MYSQL:

sudo restart mysql # The service must be running
Run Code Online (Sandbox Code Playgroud)

停止 MYSQL:

sudo stop mysql # The service must be running
Run Code Online (Sandbox Code Playgroud)

  • `停止:未知工作:mysql` (3认同)
  • `sudo:启动:找不到命令` (2认同)
  • @JCarlos 做 `apt install upstart` (2认同)

小智 13

实际上,当我在我的 Ubuntu 机器上安装 mysql-workbench 时,我遇到了一个奇怪的错误。之后,我尝试使用以下命令启动 mysql 服务:

service mysql start
Run Code Online (Sandbox Code Playgroud)

所以我得到了没有安装MySQL服务器的解决方案,所以我安装了它,我的问题解决了。安装 mysql-server 的命令是:

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

安装成功后,启动MySQL服务器:

service mysql start
Run Code Online (Sandbox Code Playgroud)


小智 11

我在 Ubuntu64 上遇到了同样的问题,我只是不使用 systemctl 而是通过以下方式解决了这个问题:

sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)

希望这个命令对你有用。


小智 5

在您的系统上安装 MySQL 后,只需执行以下操作:

$服务mysql状态

如果服务停机只是这样做:

$服务mysql启动

并停止我的服务:

$服务mysql停止