我试图在一些描述如何正确启动和停止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脚本只需要 start
或 stop
或 restart
-只要一个字告诉它该怎么做。 你不能像你试图做的那样给它多个参数。
无论如何,简短的回答是你实际工作的那个,是推荐的方式。 service
正在替换所有的init。d脚本随着时间的推移,所以你应该养成使用的习惯 service
. 你链接到的页面写于2008年,所以必须采取一些盐:)
Harley
June 8, 2022, 7:42am
#3
还有助于仔细检查"mysql"是否是正确的服务名称。 在我的情况下,它不是。我一直得到以下响应:mysql:运行时无法识别的服务
service mysql status
然后我检查了/etc/init。d并找到名为mysqld的脚本,其中列出了进程名称:mysqld和prog=mysqld
所以我做到了
service mysqld statusservice mysqld stopservice mysqld start
他们都工作得很好。
Quinn
June 8, 2022, 7:51am
#4
对于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
Ollie
June 8, 2022, 8:09am
#6
我在Ubuntu64上遇到了同样的问题,我通过简单地不使用systemctl来修复,而是这样:
sudo service mysql restart
希望这个命令能为你工作。
Ali
June 8, 2022, 8:27am
#8
这个应该适用于手动构建的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
Skylar
June 8, 2022, 9:02am
#12
事实上,即使使用sudo,它也不适合我,但后来我在脚本中发现了以下提示:*而不是通过/etc/init调用init脚本。d、使用服务(8)*就ok了
Maxx
June 8, 2022, 9:11am
#13
蒂姆是正确的。 使用sudo服务mysql start 。
通常,您可以使用sudo-l查看特定系统上的特定用户允许使用sudo做什么。 (您的权限在/etc/sudoers中配置。)但是,我不确定它是否会在这种特殊情况下有所帮助。 编辑:等等,没关系,访问被拒绝错误看起来像是来自MySQL或其他东西,而不是sudo。