我通过MacPorts安装MySQL。我需要什么命令来停止服务器(我需要测试当MySQL死时我的应用程序如何行为)?


当前回答

最新的OSX(10.8)和mysql 5.6,文件是在Launch Daemons和com.oracle.oss.mysql.mysqld.plist。它在系统选项下显示一个选项,通常在列表的底部。所以进入系统设置,点击Mysql,并从选项框中关闭它。https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

其他回答

对我来说,它与mysql5一起工作

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

在OSX雪豹

launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist

有不同的情况取决于你是用官方二进制安装程序安装MySQL,使用MacPorts,还是使用Homebrew:

家酿

brew services start mysql
brew services stop mysql
brew services restart mysql

MacPorts

sudo port load mysql57-server
sudo port unload mysql57-server

注意:重启后会持续。

二进制安装程序

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

尝试了所有的命令行,还是不行。我要做的事情有:

mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop

这种方法有效,mysqld进程消失了。但是/var/log/system.log有很多垃圾:

Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql[78049]): Service exited with abnormal code: 1
Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

Use:

sudo mysqladmin shutdown --user=*user* --password=*password*

不使用sudo也能逃脱惩罚。例如,用户可以是root(即MySQL root用户)。