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

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

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

我运行了这个命令:

/etc/init.d/mysql start 

但是我看到了这个错误

 ERROR 1045 (28000) Access denied for user.... 

我尝试这个命令后:

 sudo /etc/init.d/mysql start 

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

下一个命令:

 sudo /etc/init.d/mysql - root -p start 

结果是:

 ERROR 1049 (42000) Unknown database 'start'. 

当我运行此命令时:

 sudo service mysql start 

MySQL服务器成功启动。 凉!

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

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

然而:

 sudo /etc/init.d/mysql start 

应该管用。 事实上,对我而言:

 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.. 

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

这个..

 sudo /etc/init.d/mysql - root -p start 

争论是错误的。 init.d脚本只需要startstoprestart – 只需一个单词告诉它该做什么。 你不能像你想要的那样给它多个参数。

无论如何,简短的答案是你实际工作的那个,是推荐的方式。 service会随着时间的推移替换所有init.d脚本,所以你应该养成使用service的习惯。 你链接的页面是3岁,所以必须与盐一起服用:)

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

 service mysql status 

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

所以我做到了

 service mysqld status service mysqld stop service mysqld start 

他们都工作得很好。

对于Ubuntu 12.10及更高版本:

START MYSQL:

 sudo start mysql 

RESTART MYSQL:

 sudo restart mysql # The service must be running 

停止MYSQL:

 sudo stop mysql # The service must be running 

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

 service mysql start 

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

 sudo apt-get install mysql-server 

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

 service mysql start 

这个应该适用于手动构建的mysql服务器:

 sudo /usr/local/mysql/bin/mysqld_safe --user=mysql 

一个小脚本来涵盖这两种情况[服务器运行/服务器未运行]:

 #!/bin/bash service mysql restart if [ "$?" != "0" ]; then service mysql start fi 

在您的系统上安装MySQL之后就这样做:

$ service mysql status

如果服务下来只是这样做:

$ service mysql start

并停止我的服务:

$ service mysql停止

我在Ubuntu64上遇到了同样的问题而我通过简单地不使用systemctl来修复,而是改为:

 sudo service mysql restart 

希望这个命令对你有用。