在Mac下安装好了mysql, 想设置成开机自启动,原来以为和一般的linux系统一样,也是在rc.d这样目录放置启动脚本。在网上查了一些资料,发现苹果应该是把它完全封闭了,只能利用Mac系统里的Launchctl来做这个事。
Launchctl其实就是写一个*.plist的文件,它的作用和linux里的Crontab的作用是一样的。下面的代码是我写的一个com.mysql.plist:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.mysql</string> <key>ProgramArguments</key> <array> <string>/usr/local/mysql/bin/mysqld_safe</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist>
然后将这个文件放在/Library/LaunchDaemons下,关于这种Mac下Launch目录,有好几个,作用各有一些不同,网上有好多介绍,这里就不重复说了(随便BS一下,那些抄袭别人文章的,从来不自己写,copy一下,往自己的blog里一贴,以至于google一下,各种链接,都是一样的内容)。
最后调用一下launchctl命令,加载这个plist,
launchctl load -w com.mysql.plist
如果命令执行无错误,重新启动mac,mysql已经可以自启动了。
在这个过程中,有几个注意的地方,列在下面:
1. 执行launchctl 的时候,出现Dubious ownership on file (skipping) 这个错误
原因是:这个plist文件必须是属于root用户,wheel组,用chown修改之
sudo chown root:wheel com.mysql.plist
2. 执行launchctl 的时候,出现launchctl: no plist was returned这个错误
原因是:plist文件内容可能有格式错误。
用下面这个命令可以查看文件格式是否有问题,我就是用这个查看到 有一个<true>标记没有闭合。
sudo plutil -lint ~/com.mysql.plist
相关推荐
使用brew install mongo并按照启动选项的说明进行操作MongoDB OSX Snow Leopard Launchctl 项目配置 MongoDB 在 Mac OSX 系统启动时启动。蒙戈安装本指南假设您已经使用 MacPorts 安装了 mongo,如下所示: sudo ...
mysql关闭不了的解决办法: 右键点击电脑的任务栏,打开任务管理器 点击服务,找到mysql服务 右键点击该服务,选择停止就可以了 内容扩展: mac系统mysqld进程无法kill掉的问题 mac安装比linux恶心的太多,权限太...
使用macOS的launchctl守护程序管理器管理后台服务。 要求 用于安装服务。 这在Linux上不能(也不能)与Homebrew一起使用(请不要提交Linux问题)。 安装 首次运行时会自动安装brew services 。 用法 请参阅或“ ...
Mac OS 的守护进程启动管理休斯顿是流行的 Go计划的一个港口。用法有关完整的使用指南,请参阅文档。支持的命令其中“支持”表示带有或不带有任何类型的用户错误处理的基本支持。 ls [-l] [模式] 显示 [图案] 编辑 ...
手册内容主要意译自:Sourabh Bajaj 的 Mac OS X Setup Guide,少部分内容由译者添加和修改。 ---------------------------------------------------- 本 PDF 基于开源文档,目录书签齐全。 版权归原作者,翻译版权...
lunchy一个友好的launchctl包装
因为lunchy 不能同时启动/停止/重启多个LaunchAgents,你需要运行多个命令来实现这一点。 (来自午餐描述)你不讨厌 OSX 的 launchctl 吗? 你必须给它确切的文件名。 与 Linux 漂亮、简单的 init 系统和过于冗长...
节点启动控制 为 launchctl 命令提供本机绑定 注意 由于 OS X 10.10 的launchd源代码不再可用,该项目的开发已停止。 如果其他人对维护它感兴趣,请不要犹豫,让我知道。 它已经过以下版本的测试: 0.8.26 0.10.x...
重新启动[模式] 状态[模式] 安装[文件] 卸载[模式] 显示[模式] 编辑[模式] 其中pattern只是一个与代理的plist文件名匹配的子字符串。 如果您不使用唯一模式,Lunchy会警告您这一点,并为您提供匹配项的列表。...
自配置 自己使用的配置文件备份 aria2目录下存放的是aria2配置文件,文件应该被还原到~/.aria2 nvim目录存放的是Neovim的配置文件,文件应该被还原到~/.config/nvim ...# 启动自启动项 launchctl start aria2 ```
cd /etc/postfix && sudo postmap sasl_passwd generic sd_relayhost sender_canonical && sudo launchctl stop org.postfix.master && sudo launchctl start org.postfix.master 然后 echo "`hostname -s` test ...
除非您跳过障碍,否则这些文件夹中的项目会在系统启动时自动启动,这与管理启动代理的启动和关闭的目的背道而驰。 同样默认情况下,如果您确实希望将文件安装在LaunchAgents文件夹中, plunchy将符号链接该文件,...
LaunchControl是功能齐全的已启动GUI,可让您在Mac上创建,管理和调试系统和用户服务。 看大图... 使用LaunchControl,您可以一目了然地查看所有服务及其各自的状态。无效的服务将突出显示,并提供问题描述。您...
$ sudo launchctl stop org.postfix.master && sudo launchctl start org.postfix.master ``` 就可以使用 smtp 发送邮件了: ``` $ echo "`hostname -s` test time:`date "+%Y-%m-%d %H:%M:%S"`" | mail -s "test ...
您可以通过launchctl自动执行此操作,以便在用户登录服务器时自动启动。 当服务器运行时,您可以通过它的 Web 界面发出 Xcode 单元测试命令,例如使用curl 。 运行和安装 您可以在不安装的情况下运行服务器(用于...
实时降价编辑器在本教程中,我正在使用Redis来存储数据。 您必须安装Redis,除非它抛出Error: Redis connection to ... $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist###使用配置文件启动Red
皮特 这将在Raspberry Pi 4和Macbook之间实现一种即插即用的解决方案。 Raspberry Pi会自动发出一个dhcp地址,因此您不必费心分配自己的地址。... 运行sudo launchctl load /Library/LaunchAgents/vnc.plist启动看
该工具解析您的/usr/local/Cellar/目录以查找所有的homebrew.*.*.plist文件,并允许您打开和关闭它们,而无需每次都键入乏味的launchctl命令。 安装 如果你走了... $ go get github.com/jraede/brewservice 否则...
每天自动设置墙纸(自动停止图片)使用启动(推荐方式) 将com.bing-wallpaper-daily-mac-multimonitor.plist复制到~/Library/LaunchAgents/ 将bing-wallpaper.sh复制到~/bing-wallpaper.sh 在终端中运行launchctl ...
curl -L https://github.com/mkalmes/brewupdate/raw/develop/brewupdate-install.sh | bash手动安装要手动安装brewupdate ,请将 plist 复制到~/Library/LaunchAgents并运行命令launchctl load ~/Library/...