我找到了此链接:如何在Ubuntu 8.04上启动/停止MySql服务器| Abhi的Blogging世界
我运行了以下命令:
/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服务器成功启动。凉!
那么,其他命令怎么了?为什么它们会导致错误?
#1 楼
您的前两个命令不是以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脚本只需要
start
或stop
或restart
-只需一个字就可以告诉它该怎么做。尝试时不能给它多个参数。无论如何,简短的答案是您实际需要使用的答案,是推荐的方法。随着时间的推移,
service
将替换所有init.d脚本,因此您应该养成使用service
的习惯。您链接的页面已经3岁了,所以必须撒些盐:) 评论
也可以尝试sudo service mysql start
–user108762
2012年11月17日12:45
启动mysql对我有用(Ubuntu 12.04.4)。
– Tim
2014年5月12日在7:28
sudo /etc/init.d/mysql restart对我来说重启了MySQL
–爱德华
16年7月13日在20:23
sudo systemctl如何为Ubuntu 16.04及更高版本启动mysql?
– Ankit Balyan
17年2月2日,下午3:16
这仍然对我在ubuntu 18上起作用
–刘易斯
20年8月28日在7:34
#2 楼
还有助于仔细检查“ mysql”是正确的服务名称。就我而言不是。我一直得到以下响应:mysql:运行时无法识别的服务service mysql status
然后我检查了/etc/init.d并找到了名为mysqld的脚本,其中列出了进程名称:mysqld和prog = mysqld
所以我做了
service mysqld status
service mysqld stop
service mysqld start
,它们都工作正常。
评论
mysql:无法识别的服务
–绿色
13年7月20日在1:06
至少在13.10上,您需要使用root特权运行它。例如,“ sudo服务mysql状态”。
–布莱斯
2014年4月4日5:09
对于14.10,我需要使用“ mysql”而不是mysqld
– redanimalwar
14-10-23在1:39
如果没有root权限运行,则会显示未知作业:mysql。有点混乱。
– phil294
16 Mar 20 '16在15:55
无法启动mysqld.service:找不到单元mysqld.service。
– JCarlosR
17年11月23日在23:54
#3 楼
对于Ubuntu 12.10到14.04(Upstart)较新版本的Ubuntu使用systemd。
启动MYSQL:
sudo start mysql
重新启动MYSQL:
sudo restart mysql # The service must be running
停止MYSQL:
sudo stop mysql # The service must be running
评论
停止:未知作业:mysql
–绿色
13年7月20日在1:07
@Green我刚刚尝试了此方法(一年后),它仍在工作。这是我的结果:mysql停止/等待。您必须知道您必须已经在运行mysql才能停止它;)
– Lucio
13年7月24日在22:45
英雄,您救了我的命,那mysqld已经占据了我的机器内存这么长时间了。我尝试了各种方法将其删除,但都失败了,直到遇到您的答案。
–禅
2014年9月2日下午13:07
sudo:开始:找不到命令
– JCarlosR
17年11月23日在23:55
@JCarlos要做安装新贵
–爱德华
17年12月28日在17:06
#4 楼
实际上,当我在Ubuntu计算机上安装mysql-workbench时,出现了一个奇怪的错误。之后,我尝试使用以下命令启动mysql服务:service mysql start
所以我得到了未安装MySQL服务器的解决方案,因此我安装了它,并且遇到了问题解决了。安装mysql-server的命令是:
sudo apt-get install mysql-server
成功安装后,以以下方式启动MySQL服务器:
service mysql start
#5 楼
我在Ubuntu64上也遇到了同样的问题,我通过不使用systemctl来解决了这个问题,而是使用了以下方法:sudo service mysql restart
希望此命令对您有用。
#6 楼
在您的系统上安装MySQL之后,只需执行以下操作:$ service mysql status
如果service down只是这样做:
$ service mysql start
并用于停止我的服务,即:
$ service mysql stop
评论
/etc/init.d/mysql start和service mysql start完全相同。
–风暴
17年7月26日在8:55
#7 楼
这应该适用于手动构建的mysql服务器:sudo /usr/local/mysql/bin/mysqld_safe --user=mysql
#8 楼
在ubuntu 18.04上,套接字是在文件中定义的 /etc/mysql/mysql.conf.d/mysqld.cnf
socket = /var/run/mysqld/mysqld.sock
该目录不存在,所以我手动创建了它,如下所示:
sudo mkdir -p /var/run/mysqld
重新启动mysql。这为我的情况解决了。
评论
我的情况绝对是这样!只好做一个目录。
– Shaze
20-04-28在13:34
#9 楼
我对相同的问题感到震惊,并通过以下命令重新卸载并安装:1)sudo apt-get --purge删除mysql-server mysql-common mysql-client
2)sudo apt更新&& sudo apt dist-upgrade && sudo apt autoremove
3)sudo apt-get install -y mysql-server mysql-client
#10 楼
涵盖这两种情况的小脚本[服务器正在运行/服务器未运行]:#!/bin/bash
service mysql restart
if [ "$?" != "0" ]; then
service mysql start
fi
评论
实际上,即使使用sudo也不适合我,但随后我在脚本中发现了以下提示:与其通过/etc/init.d调用初始化脚本,不如使用service(8),这样就可以了。蒂姆是正确的。使用sudo服务mysql start。
通常,您可以使用sudo -l查看允许您的特定系统上的特定用户使用sudo做什么。 (您的权限在/ etc / sudoers中配置。)但是我不确定在这种情况下是否有帮助。编辑:等等,没关系,访问被拒绝的错误看起来像是来自MySQL之类的东西,而不是sudo。