MySQLを動作させる準備
Windows Azure PlatformでMySQLを動作させるには,大きく2つの方法があります。1つは,WorkerRoleで動作させる方法です。WorkerRoleとは,Windows Azure上のIISが提供するWebアプリケーションをホストする環境のことです。前回PHPを動作させるために利用したWebRoleと似ていますが,WebRoleがHTTP/HTTPSリクエストを受け付けるのに対し,WorkerRoleは定期的なタスクの実行などバックグラウンドの処理に用いられるという違いがあります。また,前回少し触れたように,WorkerRoleで動作するMySQLのデータは,サービス(サーバ)を再起動すると初期状態にリセットされてしまいますので,ストレージに保存(同期)するなどの処理が必要になります。
もう1つは,Windows Azureドライブを利用する方法です。Windows Azureドライブとは仮想ディスクをAzureの仮想サーバにマウントしてNTFSのドライブとして利用できるようにするものです。仮想ディスクにMySQLをインストールし,サーバ起動時にマウントし自動的にMySQLが実行されるようにします。Windows Azureドライブのデータはサーバの再起動にともなってリセットはされません。
これら2つの方法について,数回に分けて導入手順を説明していきます。今回は,ローカルの開発環境にMySQLをインストールする手順と注意点について説明します。
ローカル環境へのMySQLのインストール
MySQLのダウンロードサイトにアクセスし,MySQL Community Serverをダウンロードします。
ダウンロードのボタンからダウンロード画面に進み,GA(Generally Available)になった最新バージョン5.5.19の64bit版をダウンロードします。新規にダウンロードする際はユーザ登録が必要になります。
インストーラを起動して,許諾書に同意すると,図3の画面になりますので,今回はデフォルトの「Typical」を選択します(図4)。
OKボタンを押すとインストールが開始されます。インストール中にMySQL Enterpriseの紹介が入り(図5),その後設定ウィザードを起動するかどうかの確認になりますので,そのまま「Finish」を押します(図6)。
すると,図7のような画面が表示されるので,MySQLのメモリや接続数などを設定していきます。
はじめに,詳細設定か標準設定かをたずねられますので,デフォルトで選択されている詳細設定(Detailed Configuration)を選択します。続けて,表示される画面でもデフォルトのまま「Next」を押していきます。ここでの設定はmy.ini(my.cnfに相当)に書き込まれるものです。
変更を要するのは,文字コードとWindowsのサービス登録の設定です。文字コードの設定画面では,UTF8を利用するように2番目の「Best Support For Multilingualism」を選択します。
また,サービスとPATHの設定画面では,「Install As Windows Service」と「Include Bin Directory in Windows PATH」のいずれのチェックも外しておきます。
サービスとして登録すると,Azureプロジェクトから呼び出されたmysqld.exeが起動しなかったり,ローカル環境の設定(my.ini)を引き継いで動作してしまったりするからです。
次の画面で,「Execute」を押すと,設定は終了です。
デフォルトでインストールした場合,MySQLのインストールディレクトリは「C:\Program Files\MySQL\MySQL Server 5.5」となります。また,サービスとして登録しない場合は,rootパスワードの設定が省略されますので,コマンドライン上で,パスワードを設定しておきます。
コマンドプロンプトを起動し,C:\Program Files\MySQL\MySQL Server 5.5\binディレクトリに移動します。そのうえで,
mysqladmin --user=root password *****
とするか,以下のように,MySQLサーバ(デーモン)mysqld.exeを立ち上げて設定します。
start mysqld.exe
mysql -u root
mysql> set password for root@localhost=password('******');

