mysql pid文件丢失 mac,macos – 错误!无法找到MySQL服务器PID文件!

我在我的机器上重新安装了macOS Sierra.安装Oracle MySQL社区服务器5.7.15(mysql-5.7.15-osx10.11)后,我试图从控制台停止MySQL服务器.我收到了以下错误“错误!无法找到MySQL服务器PID文件!”.

我自己做了一些研究,但没有设法解决我的问题.

有什么建议?

解决方法:

通过Preferences Pane / launchd启动和停止MySQL服务器,另一方面通过sudo /usr/local/mysql/support-files/mysql.server启动/停止启动和停止MySQL服务器并不真正兼容.

在MySQL安装程序中选择“Launchd Support”后,将创建启动守护程序com.oracle.oss.mysql.mysqld,并且MySQL首选项窗格使用launchd机制来启动和停止mysql.如果启用“启动时自动启动MySQL服务器”,则启动Mac后会自动启用mysqld.

启动守护程序创建的pid文件名与mysql-server脚本创建和期望的名称不兼容.

运行时创建的启动守护程序的pid文件名是mysql.local.pid,该脚本需要一个基于Mac的主机名,.local或计算机名称的名称.

因此要么使用MySQL pref窗格/ launchctl,要么使用脚本来启动和停止mysqld.

在某种程度上,您可以通过修改文件com.oracle.oss.mysql.mysqld来使两个方法兼容:

停止mysql后替换数组

/usr/local/mysql/bin/mysqld

--user=_mysql

--basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

--plugin-dir=/usr/local/mysql/lib/plugin

--log-error=/usr/local/mysql/data/mysql.local.err

--pid-file=/usr/local/mysql/data/mysql.local.pid

通过

/usr/local/mysql/bin/mysqld

--user=_mysql

--basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

--plugin-dir=/usr/local/mysql/lib/plugin

--log-error=/usr/local/mysql/data/$name.err

--pid-file=/usr/local/mysql/data/$name.pid

$name:HostName(例如host.example.com),LocalHostName(例如host.local)或ComputerName(例如host).可能最好的方法是使用主机名.您可以使用scutil –get HostName获取主机名的主机名,或者使用sudo scutil –set HostName your_hostname设置主机名.

您还可以获取实际使用的mysql-server脚本pid的名称 – 在停止启动守护程序并使用mysql-server start启动mysqld之后,通过使用sudo ls /usr/local/mysql / data检查mysql的数据目录.使用在那里找到的名称来调整plist的pid名称.

您可能必须将启动守护程序文件转换为xml才能对其进行编辑.应用程序TextWrangler立即将其打开为xml文件.

之后用launchctl重新加载plist.

现在应该可以使用MySQL pref窗格和mysql.server脚本启动和停止.

如果您启用了“在启动时自动启动MySQL服务器”,则无法使用脚本停止服务器 – 即使在修改了plist之后 – 因为launchd会在几秒钟后覆盖任何停止命令并再次启动mysqld.

标签:mysql,macos,sierra

来源: https://codeday.me/bug/20190818/1691672.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值