Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


このページは機械翻訳したものです。

2.4.3 MySQL 起動デーモンのインストールおよび使用

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 Server の起動を実行します。

    図 2.18 MySQL Preference Pane: 場所

    macOS の「システムプリファレンス」検索ボックスに入力された「MySQL」と、MySQL の「プリファレンス」ペインの左下にある強調表示された「MySQL」アイコンを示します。

    「インスタンス」ページには、MySQL を起動または停止するオプションが含まれており、データベースの初期化によって data/ディレクトリが再作成されます。 アンインストールは、MySQL Server をアンインストールし、オプションで MySQL 設定パネルおよび起動された情報をアンインストールします。

    図 2.19 MySQL プリファレンスペイン: インスタンス

    左側には、「アクティブインスタンス」、「インストールされたインスタンス」および「データディレクトリ」セクションで区切られた MySQL インスタンスのリストが表示されます。 右側には、「MySQL Server の停止」ボタン、「コンピュータの起動時に MySQL を起動」というタイトルのチェックボックス、「データベースの初期化」および「アンインストール」ボタンがあります。 いくつかのフィールドは、現在インストールされている MySQL バージョンとして 8.0.11 を参照します。

  • または、起動されたファイルを手動でロードします。

    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 オプションが削除されました。