如何在 Mac OS 安装上停止 MySQL?
Posted
技术标签:
【中文标题】如何在 Mac OS 安装上停止 MySQL?【英文标题】:How do you stop MySQL on a Mac OS install? 【发布时间】:2010-09-11 04:27:23 【问题描述】:我通过MacPorts 安装了 mysql。我需要什么命令来停止服务器(我需要测试我的应用程序在 MySQL 死机时的行为)?
【问题讨论】:
【参考方案1】:显然你想要:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
请进一步阅读Jeez People, Stop Fretting Over Installing RMagic。
【讨论】:
【参考方案2】:如果您使用 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
软件包。
【讨论】:
这将在您重新启动时阻止它启动,这不是发布者所要求的。【参考方案3】:你总是可以使用命令“mysqladmin shutdown”
【讨论】:
上面的命令对我不起作用。这个做到了。不知道我的设置有什么不同,但谢谢。 即使它可能有效,但如果您使用 MacPorts 并运行它,launchctl 将不会意识到 mysql 已停止并且如果您尝试启动它(加载)会报错。因此最好使用 launchctl。 此外,虽然这适用于关闭服务器,但当您想要重新启动它时,它不会帮助您恢复它。 记得加 -p 并在提示时输入你的 mysql root 密码。在我使用 MacPorts 安装 mysql 的设置中,mysql 重新启动,并重新加载了配置,这是我的操作目标。sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
如果你的mysql来自MacPorts【参考方案4】:
好吧,如果一切都失败了,你可以采取无情的方法,手动杀死运行 MySQL 的进程。
也就是说,
ps -Af
列出所有进程,然后执行“kill <pid>
”,其中<pid>
是 MySQL 守护进程 (mysqld) 的进程 ID。
【讨论】:
是的..这个是最好的和通用的脚本。您认为有数据损坏的可能性吗?还是有其他问题? 这有可能导致数据损坏。 但作为最后的努力,这已经足够了。【参考方案5】:根据您是使用官方二进制安装程序安装MySQL,使用MacPorts,还是使用Homebrew,存在不同的情况:
自制
brew services start mysql
brew services stop mysql
brew services restart mysql
Mac 端口
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
【讨论】:
非常感谢 - 我有停止和启动命令,但不知道/考虑尝试重新启动。使用 stop 命令后,start 不会执行任何操作,就像从 MySQL System Preferences 面板启动一样。 在我的情况下略有不同,因为在 plist 文件中添加了 mysql 版本号。是这样的: sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist 对我来说,/opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist 对于自制软件:launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
如果你安装了Homebrew Services,你可以使用brew services stop mysql
和brew services start mysql
。 (还有 restart
和 run
仅在当前会话中启动。)【参考方案6】:
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
您也可以在此处使用启动和重新启动。我通过查看 /Library/LaunchDaemons/org.macports.mysql.plist 的内容发现了这一点。
【讨论】:
这就是你应该这样做的方式.. 对于 MacPorts..launchctl
方法不起作用,实际上可能会导致 PID / DB 启动问题和抱怨。跨度>
【参考方案7】:
试试
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
【讨论】:
【参考方案8】:对我来说,它正在使用“mysql5”
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
【讨论】:
【参考方案9】:对于使用 homebrew 安装 MySQL 的用户,请使用以下命令来启动、停止或重新启动 MySQL
开始酿造
/usr/local/bin/mysql.server start
Brew 重启
/usr/local/bin/mysql.server restart
停止酿造
/usr/local/bin/mysql.server stop
【讨论】:
对于我来说,homebrew 的安装目录是/usr/local/Cellar/mysql@5.7/5.7.23/bin/
【参考方案10】:
sudo /usr/local/mysql/support-files/mysql.server 停止
【讨论】:
+1 这只是一个对我有用的——我刚刚使用了 Mysql 的 DMG 安装程序。谢谢 对我来说它给出了这个错误。$ sudo /usr/local/mysql/support-files/mysql.server stop ERROR! MySQL server PID file could not be found!
这是唯一适合我的。非常感谢!【参考方案11】:
我通过 macports 安装了 mysql5 和 mysql55。对我来说,这里提到的文件位于以下位置:
(mysql55-服务器) /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist
(mysql5) /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
所以停止这些工作是这样的:
mysql55-服务器:
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-服务器
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
【讨论】:
【参考方案12】:用途:
sudo mysqladmin shutdown --user=*user* --password=*password*
不使用sudo 可能会侥幸逃脱。 user 例如可以是 root(即 MySQL root 用户)。
【讨论】:
【参考方案13】:mysql> 显示变量 where variable_name like '%dir%';
|数据目录 | /opt/local/var/db/mysql5/ |
【讨论】:
【参考方案14】:在 OSX 雪豹上
launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist
【讨论】:
【参考方案15】:在我的 mac osx 优胜美地 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文件来运行
【讨论】:
这是唯一对我有用的方法。对于任何其他方法,mysqld
进程在停止后立即重新启动。
这也是唯一对我有用的方法。我从 homebrew 切换到 MySQL 提供的 DMG,我认为即使我卸载了 brew 版本,它可能仍在运行。【参考方案16】:
如果你使用homebrew
,你可以使用
brew services restart mysql
brew services start mysql
brew services stop mysql
查看可用服务列表
brew services list
【讨论】:
这对我有用,即使直接与 launchctl 交互后也没有。谢谢! @Jan omg,非常感谢,您的回答帮助很大 这行得通,但我必须用它指定 MySQL 版本。 brew服务重启mysql@5.7【参考方案17】:最新的 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
【讨论】:
【参考方案18】:尝试所有这些命令行后,它不起作用。我必须做以下事情:
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.
【讨论】:
【参考方案19】:就我而言,只要我使用 PID 终止进程,它就会继续重新启动。 brew stop
命令也不起作用,因为我在不使用自制软件的情况下安装。然后我去了 mac 系统偏好设置,我们在那里安装了 MySQL。只需打开它并停止 MySQL 服务器即可。在屏幕截图中,您可以在系统偏好设置的底部找到 MySQL。
【讨论】:
在 Big Sur 上通过 .pkg 版本 8.0.27-arm64 直接安装。【参考方案20】:这在 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
【讨论】:
【参考方案21】:对我来说,以下解决方案有效Unable to stop MySQL on OS X 10.10
要停止我使用的自动启动:
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
并终止我使用的服务:
sudo pkill mysqld
【讨论】:
【参考方案22】:获取实例名称:
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
【讨论】:
【参考方案23】:正如@gediminas所说的
系统偏好设置 > MySQL > 停止 MySQL 服务器
是最简单的方法。使用从 Oracle 下载的二进制安装程序。
【讨论】:
以上是关于如何在 Mac OS 安装上停止 MySQL?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mac os 10.13.3 中重置我的 mysql 密码