MySQL和macOS使用MySQL /安装和启动守护进程

第三章使用MySQL安装和启动守护进程

macOS使用启动守护进程来自动启动、停止和管理流程和应用程序,比如MySQL。

默认情况下,安装包(DMG) macOS安装launchd文件命名/图书馆/ LaunchDaemons / com.oracle.oss.mysql.mysqld.plist包含plist定义类似于:

< ?xml version = " 1.0 " encoding = " utf - 8 " ?> < !DOCTYPE plist公共”——/ /苹果电脑/ / DTD plist 1.0 / / EN " " http://www.apple.com/DTDs/PropertyList-1.0.dtd " > < plist version = " 1.0 " > < dict > <键>标签< /关键> <字符串> com.oracle.oss.mysql。mysqld ProcessType Interactive Disabled  RunAtLoad  KeepAlive  SessionCreate  LaunchOnlyOnce  UserName _mysql GroupName _mysql ExitTimeOut 600 Program /usr/local/mysql/bin/mysqld ProgramArguments  /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/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so  WorkingDirectory /usr/local/mysql  
请注意

一些用户报告,添加一个plist DOCTYPE声明导致launchd操作失败,尽管它将线头检查。我们怀疑这是一个copy-n-paste错误。一个文件的md5校验和包含上面的代码片段d925f05f6d1b6ee5ce5451b596d6baed

要启用launchd服务,您可以:

  • 打开macOS系统偏好和选择MySQL首选项面板,然后执行启动MySQL服务器

    图3.1 MySQL偏好窗格:位置

    显示“MySQL”搜索框输入到macOS系统偏好,和强调“MySQL”图标的左下部分MySQL偏好窗格。

    实例页面包括一个选项来启动或停止MySQL初始化数据库再现了数据/目录中。卸载卸载MySQL服务器和MySQL首选项面板和launchd信息。

    图3.2 MySQL偏好窗格:实例

    左侧显示一个MySQL实例列表由“活动实例”,“安装实例”,“数据目录”部分。右边显示了一个“停止MySQL服务器”按钮,复选框标题“你的电脑启动时启动MySQL”,和“初始化数据库”和“卸载”按钮。几个字段引用8.0.11当前安装MySQL版本。

  • 或者,手动加载launchd文件。

    壳> cd /图书馆/ LaunchDaemons壳> sudo - f com.oracle.oss.mysql.mysqld.plist launchctl负载
  • 在启动配置MySQL自动启动,您可以:

    壳> sudo - w com.oracle.oss.mysql.mysqld.plist launchctl负载
请注意

将MySQL服务器升级时,launchd安装过程删除旧的创业项目,安装MySQL服务器5.7.7和下面。

升级还取代现有launchd文件命名com.oracle.oss.mysql.mysqld.plist

额外的launchd相关信息:

  • plist条目覆盖my.cnf条目,因为它们是作为命令行参数传入。额外的信息传递程序选项,请参阅指定程序选项

  • ProgramArguments部分定义了传递给程序的命令行选项,它是mysqld二进制在这种情况下。

  • 默认的plist定义是用不那么复杂的用例。对于更复杂的设置,您可能需要删除的一些参数,而是依靠一个MySQL配置文件,例如my.cnf

  • 如果你编辑plist文件,那么取消重新安装或升级时MySQL安装程序选项。否则,您的编辑plist文件覆盖,所有编辑都输了。

因为默认的plist定义定义了一些ProgramArguments,你可能会删除这些参数,而是依靠你my.cnfMySQL配置文件来定义。例如:

< ?xml version = " 1.0 " encoding = " utf - 8 " ?> < !DOCTYPE plist公共”——/ /苹果电脑/ / DTD plist 1.0 / / EN " " http://www.apple.com/DTDs/PropertyList-1.0.dtd " > < plist version = " 1.0 " > < dict > <键>标签< /关键> <字符串> com.oracle.oss.mysql。mysqld ProcessType Interactive Disabled  RunAtLoad  KeepAlive  SessionCreate  LaunchOnlyOnce  UserName _mysql GroupName _mysql ExitTimeOut 600 Program /usr/local/mysql/bin/mysqld ProgramArguments  /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/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so  WorkingDirectory /usr/local/mysql  

在这种情况下,basedir,datadir,plugin_dir,log_error,pid_file,keyring_file_data,——early-plugin-load选择删除从默认的plistProgramArguments定义,你可能中定义my.cnf代替。