如何停止mysqld


179

要找出mysqld的启动命令(使用Mac),我可以这样做:

ps aux|grep mysql

我得到以下输出,这使我可以启动mysql服务器。

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=...

我如何找到必要的命令以从命令行停止mysql?




1
问题是针对Mac。
Snowcrash

如果您是通过连接的mysql客户端,只需键入SHUTDOWN在提示符
chb

Answers:


306

尝试:

/usr/local/mysql/bin/mysqladmin -u root -p shutdown 

要么:

sudo mysqld stop

要么:

sudo /usr/local/mysql/bin/mysqld stop

要么:

sudo mysql.server stop

如果在OSX中安装Launchctl,则可以尝试:

MacPorts

sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql.plist

注意:重新启动后,此设置将持续存在。

家酿

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

二进制安装程序

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

我发现在:https : //stackoverflow.com/a/102094/58768


9
谢谢,/usr/local/mysql/bin/mysqladmin -u root shutdown做到了。
David542 2012年

5
如果是开发人员环境且未定义密码,则可以使用:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent

2
中间选项有效,但仅添加了“ service”:service mysqld stop
plaidcorp 2014年

11
哦,天哪,为什么我在上面使用了所有这些功能,但它仍在运行?就像病毒!
2014年

4
如果我以mysql身份运行该$ mysqld怎么办?(仅在终端中)。那我该怎么杀呢?因为CTRL-C不能工作..我知道kill会杀死它,但是只是想知道mysqld是否侦听了一个转义序列。
Matej 2014年

33

有另一种方法可以通过调用来终止守护进程

kill -TERM PID

PID存储在文件中的值mysqld.pid或mysqld进程ID(可通过发出命令获得)在哪里ps -a | grep mysqld


4
很高兴知道b / c实际上会在“ kill -9 PID”不执行该操作而不断重生之后终止该进程。
lordB8r 2013年

2
@ lordB8r b / c是什么意思?我尝试杀死-9 mysqld(pid),但此后它立即重新启动,这让我很痛苦。
2014年

@Zen使用kill -TERM mysqld(pid)代替,整个进程树将被杀死,不允许重新生成它。
Pirooz

1
是的,该操作是安全的,因为RDB可以保证ACID属性。
Pirooz

2
我尝试了kill-term PID,它确实杀死了它,但是如果我运行ps -a | grep mysqld,使用新的PID重新启动进程mysqld。
2myCharlie '18

19

我在这里找到了答案。

sudo stop mysql

这适用于我的AWS ubuntu mysql安装。“ kill -TERM pid”不适用于我的情况。谢谢。
yoshi

sudo mysql stop对我来说(Digital Ocean-ghost-512mb-lon1-01)。
Leo

我收到此错误的原因是:错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:否)
2myCharlie

19

对于Windows,如果路径中有mysql / bin,则可以直接运行此命令。

mysqladmin -u root -p shutdown


10

对于二进制安装程序,请使用以下命令:

停止:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

开始:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

重启:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

在OSX 10.8及更高版本上,可从“系统配置”中获得MySQL的控件。打开系统偏好设置,单击Mysql(通常在最底部),然后从该窗格启动/停止服务。 https://dev.mysql.com/doc/refman/5.6/zh-CN/osx-installation-launchd.html

plist文件现在位于/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist下


4
作为记录,我尝试了上述所有方法,但没有一个方法能够停止额外的MySQL进程。遍历系统偏好设置并搜索MySQL可以解决问题-谢谢!
andycrone

谢谢,这工作。您也可以在这里找到卸载按钮。
smcg

这对大多数人有效: gist.github.com/vitorbritto/0555879fe4414d18569d但为了安全起见,请在步骤6之前尝试步骤7
ppostma1

9

在Mac上为我工作

a)停止进程

sudo launchctl list | grep -i mysql

如果结果显示类似以下内容: “ xxx.xxx.mysqlxxx”

sudo launchctl remove xxx.xxx.mysqlxxx

例: sudo launchctl remove org.macports.mysql56-server

b)禁用自动启动过程

sudo launchctl unload -wF /Library/LaunchDaemons/xxx.xxx.mysqlxxx.plist

例: sudo launchctl unload -wF /Library/LaunchDaemons/org.macports.mysql56-server.plist

  • 终于重新启动您的Mac

注意:在某些情况下,如果首先尝试“ a)”,则在尝试b)之前需要再次重新引导。


6

杀肯定是错误的方式!PID将保留,Replicationsjobs将被杀死,等等。

停止MySQL服务器

/ sbin / service mysql停止

启动MySQL服务器

/ sbin / service mysql启动

重新启动MySQL服务器

/ sbin / service mysql重新启动

如果您没有足够的权限,则可能需要sudo


5

尝试连续四次杀死mysqld。这是唯一对我有用的东西...

root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
mysqld: no process found

只是一遍又一遍地杀死它,直到看到“ mysqld:找不到进程”。


感谢为我的案件做的工作
Joyce obi

4

在CentOS 6.4上对我有用的是以service mysqld stoproot用户身份运行。

我在nixCraft上找到了答案。


2
/etc/init.d/mysql stop<br>
service mysql stop<br>
killall -KILL mysql mysqld_safe mysqld<br>

When you see the following information, you success

mysql: no process found<br>
mysqld_safe: no process found<br>
mysqld: no process found

我用这个用解决的MySQL 5.6的安装问题在Ubuntu 15.10 这个链接

在安装过程中,我遇到以下问题:

"mysqld_safe A mysqld process already exists"

只需完全停止mysqld,mysqld_safe,即可解决mysql问题。


2

如果我的mysql不断重启
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
对我有用。


mysql.server停止提示此错误:zsh:找不到命令:mysql.server
2myCharlie


1

要停止MariaDB和MySQL服务器实例:

sudo mysqladmin shutdown

要启动MariaDB和MySQL服务器实例:

mysqld &

要更改MariaDB和MySQL服务器实例的数据所有权,请执行以下操作:

sudo chown -R 755 /usr/local/mariadb/data

0

对于从二进制文件下载到MacOS的mysql 5.7:

sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

-1

对于MAMP

  1. 停止服务器(但您可能会注意到MySQL保持打开状态)
  2. 删除或重命名/Applications/MAMP/tmp/mysql/包含mysql.pid和的mysql.sock.lock文件的文件
  3. 当您回到Mamp时,您会看到MySQL现在已关闭。您可以再次“启动服务器”。

这将在mysql_error_log文件中提供“ / Applications / MAMP / tmp / mysql”(用于UNIX套接字文件不存在)
Abdullah Tahan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.