LionサーバーでMySQLサーバーを使用する

* Lion ServerでインストールされるMySQLは構成が中途半端な印象です。mysqldumpがなかったり、mysqlhotcopyが動かなかったり。別途、インストールした方が安全かもしれません。もしかすると、10.6 Serverからのアップグレードで中途半端に残ったMySQLだったかもしれないです。
* LionにMySQLをインストールして稼働させるまでの手順をまとめました。記事はこちら。「LionでMySQLを稼働させるための5ステップ
Snow Leopardサーバー (Mac OS X 10.6サーバー)ではサーバーの設定アプリから簡単にMySQLサーバーを稼働させることができましたが、Lionサーバー (Mac OS X 10.7サーバー)のServerアプリからMySQLの設定がなくなってしまいました。しかし、LionサーバーにはMySQLが標準インストールされているので、少し手順を踏めばMySQLサーバーを稼働させることができました。そのときのまとめです。

起動できる状態までの準備

必要なディレクトリを作成します。ターミナルで次のように操作します。
(1) 「sudo mkdir /var/mysql」を実行
(2) 「sudo chown _mysql:_mysql /var/mysql」を実行
(3) 「sudo mysql_install_db」を実行
(4) 「sudo chown -R _mysql:_mysql /var/mysql」を実行
(5) 「sudo cp /usr/share/mysql/my-small.cnf /etc/my.cnf」を実行(他の設定ファイルを使っても大丈夫だと思います)

自動起動させるための設定

これで起動できる状態までなったので、マシン起動時に自動的にMySQLサーバーが稼働するように設定します。他のUnix系のOSやLinux系のOSでは、ランレベルで起動用のスクリプトで走らせるように設定しますが、Mac OS X Serverの場合は、Launchctlを使います。次のようなプロパティリストファイルを作成します。(あとでコピーするので、どこに置いても良いです。「ホスト.ドメイン」のところは環境に合わせて書き換えてください)

ターミナルで次のように操作して、作成したプロパティリストファイルをコピーします。ここでは、「org.mysql.mysqld.plist」という名前でワーキングディレクトリにあるものと仮定します。
(1) sudo cp org.mysql.mysqld.plist /Library/LaunchDaemons
(2) sudo chown root:wheel /Library/LaunchDaemons/org.mysql.mysqld.plist
これでマシンを再起動すると、MySQLサーバーが起動します。マシンを再起動させた後、MySQLが起動できているか確かめるために、ターミナルから次のように入力します。
(1) mysql
ベタですが、起動できていれば次のように表示されます。

「quit」を入力して終了します。

最低限の設定

あとは、最低限の設定を行います。まずは、ルートのパスワードを設定します。
(1) 「mysqladmin -u root -password パスワード」を実行。(「パスワード」のところを設定したいパスワードで置き換えます)
(2) 「mysqladmin -u root -p reload」を実行
次に、DBで使う文字コードを「UTF-8」に変更します。「Latin1」のままだと、文字化けしてしまうので。
先ほどコピーした「/etc/my.cnf」ファイルを編集します。管理者権限が必要なので、ターミナルで動く「nano」などで編集したり、sudo付きで、TextEdit.appを起動しても良いです。
(次の設定を追加)

設定を変更したのでMySQLを再起動します。ターミナルで以下のように入力します。
(1) sudo launchctl stop org.mysql.mysqld
(2) sudo launchctl start org.mysql.mysqld
以上の手順で、LionサーバーでMySQLサーバーを起動できました。

関連記事

  1. FileVaultとバックアップ

  2. 「開発者にとってXcode 5は何が変わったのか」というセミナーを行い…

  3. バンドル版のOpenOffice.orgのパーミッションに注意

  4. Outlook 2007 が突然起動しなくなってしまったときの解決方法…

  5. VMware上へ移行

  6. Nexus7完全放電から復活まで

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 基礎から学ぶ SwiftUI
  2. 基礎から学ぶ SwiftUI