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を使います。次のようなプロパティリストファイルを作成します。(あとでコピーするので、どこに置いても良いです。「ホスト.ドメイン」のところは環境に合わせて書き換えてください)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>ExitTimeOut</key>
<integer>604800</integer>
<key>Label</key>
<string>org.mysql.mysqld</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/libexec/mysqld</string>
<string>--socket=/var/mysql/mysql.sock</string>
<string>--user=_mysql</string>
<string>--port=3306</string>
<string>--datadir=/var/mysql</string>
<string>--pid-file=/var/mysql/ホスト.ドメイン.pid</string>
</array>
<key>ServiceIPC</key>
<false/>
<key>StandardErrorPath</key>
<string>/var/mysql/mysql_service.log</string>
<key>StandardOutPath</key>
<string>/var/mysql/mysql_service.log</string>
</dict>
</plist>

ターミナルで次のように操作して、作成したプロパティリストファイルをコピーします。ここでは、「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
ベタですが、起動できていれば次のように表示されます。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.92 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

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

最低限の設定

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

[mysqld]
default-character-set=utf8
character_set_server=utf8
[mysql]
default-character-set=utf8

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

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. Markdown

  2. NSTrackingAreaクラス

  3. LionでJava

  4. 紹介 – 「仕組み」進化論

  5. PHPからkakasiを呼び出す

  6. 改訂版がもう少しで完成

最近の著書

  1. 基礎から学ぶ SwiftUI

人気記事

最近の記事