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

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

我找到了这个链接: 如何启动/停止MySql服务器在Ubuntu8.04/Abhi'S博客世界

我运行了这个命令:

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

我使用了restart而不是start,因为它已经在运行,但效果是一样的。 您确定您输入的密码正确吗? :)你有没有编辑你的sudo配置,这将停止工作?

这个。.

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

这些论点是错误的。 一个init。d脚本只需要 startstoprestart -只要一个字告诉它该怎么做。 你不能像你试图做的那样给它多个参数。

无论如何,简短的回答是你实际工作的那个,是推荐的方式。 service 正在替换所有的init。d脚本随着时间的推移,所以你应该养成使用的习惯 service. 你链接到的页面写于2008年,所以必须采取一些盐:)

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

service mysql status 

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

所以我做到了

service mysqld statusservice mysqld stopservice mysqld start 

他们都工作得很好。

对于Ubuntu12.10到14.04(新贵)

较新版本的Ubuntu使用 系统d.

启动MYSQL:

sudo start mysql

重启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

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

sudo service mysql restart

希望这个命令能为你工作。

在系统上安装MySQL后,只需执行此操作:

▪服务mysql状态

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

$服务mysql启动

为了阻止我的服务 :

$服务mysql停止

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

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

在ubuntu18.04上,套接字在文件中定义

 /etc/mysql/mysql.conf.d/mysqld.cnf socket     = /var/run/mysqld/mysqld.sock

该目录不存在,所以我手动创建了它,如下所示:

sudo mkdir -p /var/run/mysqld

重新启动mysql。 这就解决了我的案子。

我遇到了同样的问题,我通过以下命令卸载并再次安装:

1)sudo apt-get--purge remove mysql-server mysql-common mysql-client

2)sudo apt update&&sudo apt dist-upgrade&&sudo apt autoremove

3)sudo apt-get install-y mysql-server mysql-client

使用此命令以root用户身份启动SQL server

sudo service mysql restart

sudo /etc/init.d/mysql start

使用此命令重新启动

sudo /etc/init.d/mysql restart

使用此命令停止MySQL服务器

sudo /etc/init.d/mysql stop

检查MySQL是否正在运行:

sudo service mysql status

事实上,即使使用sudo,它也不适合我,但后来我在脚本中发现了以下提示:*而不是通过/etc/init调用init脚本。d、使用服务(8)*就ok了

蒂姆是正确的。 使用sudo服务mysql start

通常,您可以使用sudo-l查看特定系统上的特定用户允许使用sudo做什么。 (您的权限在/etc/sudoers中配置。)但是,我不确定它是否会在这种特殊情况下有所帮助。 编辑:等等,没关系,访问被拒绝错误看起来像是来自MySQL或其他东西,而不是sudo。