总结:MacOS将mysql服务设置为开机自启
一·背景描述:
1.mysql是利用Homebrew软件包管理器安装的
2.mysql是8.0.32版本
3.苹果电脑是MacBook M2 Pro系统
4.每次开机都需要手动命令开启mysql服务,这样才能连接数据库,比较麻烦
二·解决办法:
1.找到mysql存储数据的目录进行授权
sudo chmod -R 777 /opt/homebrew/var/mysql/
注意:
(1)执行该命令需要输入当前mac账户的开机密码
(2)利用homebrew安装的mysql,存储数据的目录一般就是:/opt/homebrew/var/mysql/
2.进入homebrew的安装目录,找到Cellar目录,进入且找到mysql安装目录
3.再找到“homebrew.mxcl.mysql.plist”文件所在的路径:一般就在homebrew安装的mysql目录下面
4.再执行下面的命令:将该文件复制一份到~/Library/LaunchAgents目录下面
命令格式:
sudo cp homebrew.mxcl.mysql.plist文件所在路径 ~/Library/LaunchAgents
本人示例命令:
sudo cp /opt/homebrew/Cellar/mysql/8.0.32/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents
5.重新加载执行文件:homebrew.mxcl.mysql.plist
重新加载该文件命令:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
三·效果演示:
1.查看后台进程服务,mysqld服务已存在
2.Navicat也可以连接本地数据库
四·若还是不能成功自启mysql服务:则直接修改homebrew.mxcl.mysql.plist文件的mysqld_safe路径值,再重复上述步骤
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.mysql</string>
<key>LimitLoadToSessionType</key>
<array>
<string>Aqua</string>
<string>Background</string>
<string>LoginWindow</string>
<string>StandardIO</string>
<string>System</string>
</array>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/Cellar/mysql/8.0.32/bin/mysqld_safe</string>
<string>--datadir=/opt/homebrew/var/mysql</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/opt/homebrew/var/mysql</string>
</dict>
</plist>
注意:
(1)“/opt/homebrew/Cellar/mysql/8.0.32/bin/mysqld_safe”:这个mysqld_safe的路径要根据读者的实际安装位置调整,其他都不变
(2)更改完该文件,再按照之前的步骤重新弄一遍,应该就好了
五·手动启动mysql服务命令
#启动mysql服务
brew services start mysql
或者
mysql.server start
#关闭mysql服务
brew services stop mysql
或者
mysql.server stop
#重启mysql服务
brew services restart mysql
或者
mysql.server restart