このページは機械翻訳したものです。
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
オプションが削除されました。