如何启动/停止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脚本只需要start
或stop
或restart
– 只需一个单词告诉它该做什么。 你不能像你想要的那样给它多个参数。
无论如何,简短的答案是你实际工作的那个,是推荐的方式。 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
希望这个命令对你有用。