このページは機械翻訳したものです。
macOS では、起動デーモンを使用して、MySQL などのプロセスおよびアプリケーションを自動的に起動、停止および管理します。
デフォルトでは、macOS のインストールパッケージ (DMG) によって、次のような plist 定義を含む/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist という名前の起動ファイルがインストールされます:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
<string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
<string>--early-plugin-load=keyring_file=keyring_file.so</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
plist DOCTYPE 宣言を追加すると lint チェックに合格しているにもかかわらず、起動された操作が失敗すると報告されるユーザーもいます。 copy-n-paste エラーである可能性があります。 前述のスニペットを含むファイルの md5 チェックサムは d925f05f6d1b6ee5ce5451b596d6baed です。
起動されたサービスを有効にするには、次のいずれかを実行します:
-
macOS システムプリファレンスを開き、MySQL プリファレンスパネルを選択して、を実行します。
「インスタンス」ページには、MySQL を起動または停止するオプションが含まれており、によって
data/ディレクトリが再作成されます。 は、MySQL Server をアンインストールし、オプションで MySQL 設定パネルおよび起動された情報をアンインストールします。
-
または、起動されたファイルを手動でロードします。
shell> cd /Library/LaunchDaemons shell> sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist -
ブート時に自動的に起動するように MySQL を構成するには、次の手順を実行します:
shell> sudo launchctl load -w com.oracle.oss.mysql.mysqld.plist
MySQL サーバーをアップグレードする場合、起動されたインストールプロセスによって、MySQL サーバー 5.7.7 以下とともにインストールされた古い起動アイテムが削除されます。
アップグレードすると、com.oracle.oss.mysql.mysqld.plist という名前の既存の起動ファイルも置換されます。
その他の起動関連情報:
plist エントリはコマンドライン引数として渡されるため、
my.cnfエントリをオーバーライドします。 プログラムオプションを渡す方法の詳細は、セクション4.2.2「プログラムオプションの指定」 を参照してください。ProgramArguments セクションでは、プログラムに渡されるコマンド行オプション (この場合は
mysqldバイナリ) を定義します。デフォルトの plist 定義は、より洗練されたユースケースを念頭に置いて記述されます。 より複雑な設定の場合は、一部の引数を削除し、かわりに
my.cnfなどの MySQL 構成ファイルに依存できます。plist ファイルを編集する場合は、MySQL の再インストールまたはアップグレード時にインストーラオプションの選択を解除します。 そうしないと、編集した plist ファイルが上書きされ、すべての編集内容が失われます。
デフォルトの plist 定義では複数の ProgramArguments が定義されているため、これらの引数のほとんどを削除し、かわりに my.cnf MySQL 構成ファイルを使用してそれらを定義できます。 例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
<string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
<string>--early-plugin-load=keyring_file=keyring_file.so</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
この場合、my.cnf で定義されている可能性があるデフォルトの plist ProgramArguments 定義から、basedir, datadir, plugin_dir, log_error, pid_file, keyring_file_data、および --early-plugin-load オプションが削除されました。

