Mysql brew服务:在哪里编辑配置?

Mysql brew服务:在哪里编辑配置?,mysql,plist,homebrew,Mysql,Plist,Homebrew,Brew services已为mysql安装此plist文件 ~ $ brew services list Name Status User Plist mysql56 started mh /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist 编辑此文件是否安全(即brew是否会覆盖此处所做的更改)?是否还有其他方法可以修改该文件?我(很遗憾)不知道您可以编辑哪个文件,但我可以确认,在下一次启动时,brew s

Brew services已为mysql安装此plist文件

~ $ brew services list
Name    Status  User      Plist
mysql56 started mh /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist

编辑此文件是否安全(即brew是否会覆盖此处所做的更改)?是否还有其他方法可以修改该文件?

我(很遗憾)不知道您可以编辑哪个文件,但我可以确认,在下一次启动时,
brew services
将覆盖
库/启动代理
目录中的任何编辑内容,因此,直接编辑它不会有任何帮助。

All
.plist
公式附带的文件可以在Cell目录中找到。例如,
homebrew.mxcl.mysql.plist
位于
/usr/local/cillar/mysql/5.7.14
中。您可以修改它,
brew services
将使用它

或者,您可以修改
/Library/LaunchDaemons/homebrew.mxcl.mysql.plist
,并使用
sudo chflags uchg/Library/LaunchDaemons/homebrew.mxcl.mysql.plist使其不可变。这将不允许
brew
重写或修改
.plist
文件

  • 复制
    /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
  • 更改plist的副本
  • 运行
    brew服务启动mysql56{plist文件修改副本的路径}

  • 安装带有自制公式的软件包时
    .plist文件放置在包文件夹中
    (通常为/usr/local/ceral/…文件夹)

    在OSX中,此文件被复制/删除到

    /库/启动守护进程/

    文件夹 每次使用自制软件启动/停止服务时:

    brew services start <the-app>
    brew services stop  <the-app>
    
    简短答复:

    usr/local/cillar/
    +公式名称/+
    .plist
    文件中编辑配置

    不在
    brew服务
    列表中守护进程旁边列出的文件中


    长答覆:

    安装公式时,其
    plist
    文件将位于
    usr/local/ceral
    中,位于以公式命名的目录中

    当您使用
    brew services start
    生成守护程序时,此文件将复制到运行用户的
    库/启动代理程序/
    ,例如:

    对于root,它是
    Library/LaunchAgents/

    对于普通用户-
    ~/Library/LaunchAgents

    这一点很重要,更改此文件没有意义,它只是一个副本,下次作为此用户运行服务时将被覆盖


    但是,您可以检查此文件以查看此特定服务实例使用的配置。

    已确认。但是你可以通过使用
    chflags-uchg
    (以及以后的
    chflags-nouchg
    )来阻止这种情况的发生。你可以编辑这两个版本,但你应该编辑文件的
    cell
    版本@pnomolos的回答是正确的,
    brew服务启动
    将用
    Cell
    中的任何内容覆盖文件的
    LaunchAgent
    版本。通过使.plist不可变,您将无法再次启动brew服务。启动时,我得到:
    错误:不允许操作@unlink\u internal-/Users/ci/Library/LaunchAgents/homebrew.mxcl.gitlab runner.plist
    。Brew services要求plist文件是可写的。我只是通过在
    启动守护进程
    plist文件上输入不同的值来尝试这一点,我可以确认要编辑的正确文件是
    Cell
    版本。
    启动守护进程
    版本将被
    brew服务启动
    上的
    Cell
    版本复制/覆盖。另请注意,更容易转到
    /usr/local/opt/
    而不是
    /usr/local/cillar
    ,因为
    /opt
    只是符号链接到
    /cillar
    中的相应匹配项。本指南解释了
    brew services
    如何与LaunchAgent交互:为了快速查找.plist文件,请运行命令:
    locate homebrew.mxcl.mysql56.plist
    文件路径将显示在输出中。之后,应使用
    brew edit
    更新公式中的
    plist
    方法。每次重新启动服务时都会生成plist文件。
    ...
    <string>/usr/local/opt/mariadb/bin/mysqld_safe</string>
    <string>--datadir=/DAT/mariadb</string>     
    <string>--port=3308</string> 
    ...
    
    netstat|grep 3308