launchctlを使ってMac OS XでMariaDBを自動起動する方法
Mac OS Xで起動時にMariaDBを自動的に起動する方法
Homebrewサービスを使用する
Homebrewを使用してMariaDBをインストールした場合は、Homebrewサービス機能を使用して簡単に自動起動を設定できます。
手順
- ターミナルを開き、以下のコマンドを実行します。
brew services start mariadb
このコマンドは、MariaDBサービスを起動し、システム起動時に自動的に起動するように設定します。
確認
以下のコマンドを実行して、MariaDBサービスが起動していることを確認できます。
brew services list
出力結果にmariadb
サービスが表示されていれば、サービスは起動しています。
launchctlを使用する
Homebrewを使用していない場合、またはHomebrewサービス機能を使用しない場合は、launchctlを使用してMariaDBを自動起動するように設定できます。
- ターミナルを開き、以下のコマンドを実行して、MariaDBの起動スクリプトを作成します。
sudo nano /etc/launchd.d/org.mariadb.mysqld.plist
- 以下の内容をファイルに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mariadb.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/mysqld</string>
<string>--defaults-file=/etc/my.cnf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
sudo launchctl load /etc/launchd.d/org.mariadb.mysqld.plist
launchctl list | grep mariadb
システム環境設定を使用する
Mac OS X 10.9以降を使用している場合は、システム環境設定を使用してMariaDBを自動起動するように設定できます。
- システム環境設定を開きます。
- ユーザとグループを選択します。
- ログイン項目タブを選択します。
- +ボタンをクリックします。
- アプリケーションを選択して、
/usr/local/bin/mysqld
を見つけます。
Mac OS Xを再起動して、MariaDBが自動的に起動することを確認します。
注意事項
- 自動起動設定を行う前に、MariaDBがインストールされていることを確認してください。
- 自動起動設定を行う前に、MariaDBの設定ファイル
/etc/my.cnf
を編集して、必要な設定を行ってください。
サンプルコード1: Homebrewサービスを使用する
brew services start mariadb
サンプルコード2: launchctlを使用する
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mariadb.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/mysqld</string>
<string>--defaults-file=/etc/my.cnf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
サンプルコード3: システム環境設定を使用する
注意事項
- サンプルコードはあくまでも参考例です。ご自身の環境に合わせて変更する必要があります。
MariaDBを起動時に自動的に起動する方法
plistファイルを使用する
launchctlを使用する方法は、plistファイルを作成して、そのファイルをlaunchctlに読み込む方法です。
sudo nano /etc/launchd.d/org.mariadb.mysqld.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mariadb.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/mysqld</string>
<string>--defaults-file=/etc/my.cnf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
sudo launchctl load /etc/launchd.d/org.mariadb.mysqld.plist
launchctl list | grep mariadb
systemdを使用する
systemdは、Linuxで使用されているサービス管理ツールですが、Mac OS Xにも移植されています。systemdを使用するには、systemd用のサービスファイルを作成する必要があります。
sudo nano /etc/systemd/system/mariadb.service
[Unit]
Description=MariaDB database server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/mysqld --defaults-file=/etc/my.cnf
PIDFile=/var/run/mariadb/mysqld.pid
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb
出力結果にActive: active (running)
と表示されていれば、サービスは起動しています。
crontabを使用する
crontabは、定期的にジョブを実行するツールです。crontabを使用して、MariaDBを起動時に自動的に起動するように設定できます。
crontab -e
- ファイルの末尾に以下の行を追加します。
@reboot /usr/local/bin/mysqld --defaults-file=/etc/my.cnf
MariaDBを起動時に
macos mariadb