如何在Mac OS安装时停止MySQL ?

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

295306 次浏览

显然你想:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

天哪,不要再为安装RMagic而烦恼了中有进一步的阅读。

如果你安装了MacPorts的MySQL 5包:

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

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

如果你安装了mysql5-devel包。

你可以使用命令"mysqladmin shutdown"

好吧,如果所有这些都失败了,您可以采取无情的方法,手动杀死运行MySQL的进程。

也就是说,

ps -Af

列出所有进程,然后执行“kill <pid>”,其中<pid>是MySQL守护进程(mysqld)的进程id。

根据你是使用官方二进制安装程序、使用MacPorts还是使用家酿安装MySQL,会有不同的情况:

家酿

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

sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop

您还可以在这里使用start和restart。我通过查看/Library/LaunchDaemons/org.macports.mysql.plist的内容发现了这一点。

试一试

sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop

其他的尝试:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

然而,我发现第二个选项只有在.plist已经加载了以下内容时才能工作(OS X 10.6, MySQL 5.1.50):

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist

PS:我还发现我需要卸载.plist来获得一个不相关的MAMP-MySQL安装来正确启动/停止。运行之后,MAMP-MySQL启动正常:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist

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

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

对于那些使用自制程序安装MySQL的用户,请使用以下命令启动、停止或重新启动MySQL

啤酒开始

/usr/local/bin/mysql.server start

酿造重启

/usr/local/bin/mysql.server restart

酿造停止

/usr/local/bin/mysql.server stop

sudo /usr/local/mysql/support-files / mysql。服务器停止

我在macports上安装了mysql5和mysql55。对我来说,这里提到的文件位于以下位置:

< p > (mysql55-server) / opt /地方/ etc / LaunchDaemons / org.macports.mysql55-server / org.macports.mysql55-server.plist < / p > < p > (mysql5) / opt /地方/ etc / LaunchDaemons / org.macports.mysql5 / org.macports.mysql5.plist < / p >

所以停下来是这样做的:

mysql55-server:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

mysql5:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist

您可以检查服务是否仍在运行:

ps ax | grep mysql

此外,你可以在我的案例中查看日志文件:

mysql55-server

sudo tail -n 100 /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.err
...
130213 08:56:41 mysqld_safe mysqld from pid file /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.pid ended

mysql5:

sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57  mysqld ended

使用:

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

你可以不使用sudo。例如,用户可以是根用户(即MySQL根用户)。

Mysql >显示变量variable_name为'%dir%';

| datadir | /opt/local/var/db/mysql5/ | .使用实例

在OSX雪豹

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

在我的mac osx yosemite 10.10。这个命令起作用了:

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

你可以在/Library/LaunchDaemons/文件夹中找到你的mysql文件来运行

如果你正在使用homebrew,你可以使用

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

获取可用服务的列表

brew services list

最新的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

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

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.

在我的例子中,只要我使用PID杀死进程,它就会重新启动。此外,brew stop命令不工作,因为我没有使用自制软件安装。然后我打开了mac系统首选项,那里已经安装了MySQL。只要打开它并停止MySQL服务器,你就完成了。在这里的截图中,你可以在系统首选项的底部找到MySQL。enter image description here

这适用于macOS 10.13.6和8.0.12 MySQL

/usr/local/mysql/support-files/mysql.server start

/usr/local/mysql/support-files/mysql.server restart

/usr/local/mysql/support-files/mysql.server stop

对我来说,下面的解决方案工作在OS X 10.10上无法停止MySQL

停止自动启动我使用:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist

并关闭我使用的服务:

sudo pkill mysqld

获取实例名:

ls /Library/LaunchDaemons | grep mysql

停止MySQL实例(适用于MacOS Catalina, MySQL 8):

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

或者,您可以停止MySQL实例

MacOS Settings > MySQL > Stop MySQL Server

此外,查看这里更多的方法: https://tableplus.com/blog/2018/10/how-to-start-stop-restart-mysql-server.html < / p >

正如@gediminas所说

系统偏好>MySQL祝辞停止MySQL服务器

是最简单的方法。从Oracle下载二进制安装程序。