WordPress、Joomla、Drupal 等の PHP ウェブアプリケーションを利用する場合、データベースエンジンに MySQL を使用することが必要になります。MySQL は、世界で最もよく利用されているオープンソースのリレーショナルデータベースです。
MYSQL のインストールには、バイナリファイルからインストールするはかに、Microsoft Web Platform Installer (Web PI) でもインストールすることができます。単にアプリケーションを動作させたいというだけの場合には、Web PI でインストールするのが一番簡単です。現在Web PI でインストールできる日本語版は、WordPress、SugarCRM、XOOPS Cube Legacy、EC-CUBE、Geeklog となっています。それ以外の場合で日本語版を使いたいという場合には、後で日本語リソース等を追加する必要がある場合が多いので、日本語版のバイナリファイルをインストールした方がいい場合もあります。
Web PI を利用して MySQL をインストールする方法
バイナリファイルでのインストール
1.現時点では、バージョン 5.5 が安定版の最新版です。以下は、バージョン 5.1 のインストールのメモです。MySQL の過去のバージョンのダウンロードのページから、MySQL Community Server のバイナリをダウンロードします。Windows 版には、Essentials があるので、こちらを選択します。Essentials には、実行に必要なものだけが含まれており、WordPress、Joomla、Drupal 等のアプリケーション用に使用するのであれば十分です。
2.ダウンロードしたバイナリファイルをダブルクリックして起動します。セットアップウィザードが初期画面が表示されるので、「Next」ボタンをクリックします。
3.セットアップのタイプの選択画面が表示されます。通常は、「Typical」を選択しますが、C ドライブ以外にインストールしたいような場合は、「Custom」を選択します。タイプの選択が終了したら「Next」ボタンをクリックします。
4.インストールの準備が完了したという画面が表示されます。画面に表示のフォルダーにインストールされるので問題がなければ、「Install」ボタンをクリックします。
5.インストールが開始されます。
6.インストールが完了すると以下の画面が表示されます。MySQL を設定する必要があるので「Configure the MySQL Server now」のチェックは、そのままオンにしておきます。登録については、好みにより選択し、「Finish」ボタンをクリックします。
7.次に、MySQLの設定ウィザードが表示されます。「Next」ボタンをクリックします。
8.設定ウィザードで設定をおこなってしまうので、「Detailed Configuration」を選択して、「Next」ボタンをクリックします。
9.サーバー用なので「Server Machine」を選択します。メモリが少なくアクセス数もすくない場合は、「developer Machene」という選択もあります。選択したら「Next」ボタンをクリックします。
10.WordPress を動作させたいだけであれば、「Non-Transactional Database Only」で十分ですが、ディスクに余裕があれば「Multifunctional Database」を選択して、「Next」ボタンをクリックします。
11.「Multifunctional Database」を選択した場合は、InnoDBの保存場所を尋ねてきます。適当な場所を設定して、「Next」ボタンをクリックします。
12.同時接続数の選択画面が表示されます。デフォルトの「Decision Support(DSS)/OLAP」で特に問題はないと思いますが、メモリに余裕がなければ「Manual Serring」で同時接続数を少なくしてもいいと思います。選択が終了したら、「Next」ボタンをクリックします。
13.リモート接続する必要がある場合は、「Enable TCP/IP Networking」にチェックし、ローカルで運用する場合は、チェックをはずします。リモート接続する場合は、ファイアウォールを開放してやる必要があるので、「Add firewall exception for this port」にチェックをします。選択が終了したら、「Next」ボタンをクリックします。
14.デフォルトの文字コードの設定画面です。日本語で使用する場合は、「Best Support For Multilingualism」を選択します。デフォルトの文字コードは、UTF8 になります。設定が終了したら、「Next」ボタンをクリックします。
15.Windows サービスとしてインストールするかとWindows PATH に MYSQL のインストールパスを含めるかどうかの選択画面です。両方にチェックをして、「Next」ボタンをクリックします。
16.管理者のパスワードの設定画面です。適正なパスワードを入力します。MySQLの場合、管理者のIDは、root です。別のマシンからコントロールしたい場合は、「Enable root access from remote machines」にチェックをし、そうでない場合は、チェックをはずします。「Modify Security Settings」のチェックがオンになっているのを確認して、「Next」ボタンをクリックします。
17.以上で MySQL の設定項目の入力が完了し、設定の準備ができたという画面が表示されます。「Execute」ボタンをクリックします。
18.設定の完了画面です。
19.接続の確認をします。「すべてのプログラム」のメニューで、「MySQL」、「MySQL Server 5.1」を選択すると、「Mysql Command Line Client」が新しく登録されています。「Mysql Command Line Client」を選択すると以下の画面が表示されます。1-16で設定したパスワードを入力して、Enter キーを押します。
20.以下の画面が表示されれば、データベース管理者で接続できることが確認できました。
21.リモート接続をする場合は、「管理ツール」、「セキュリティが強化された Windows ファイアウォール」で、セキュリティが強化された Windows ファイアウォールを立ち上げます。左メニューで「監視」の「ファイアウォール」を選択すると、有効なファイアウォールの一覧が表示されます。1-13で、「Add firewall exception for this port」にチェックをしてあれば、MySQL Server の受信の規則が作成されて有効になっています。もし、MySQL Server の受信の規則が作成されていない場合は、「受信の規則」で、プロトコルTCP-IP、1-13で設定したポート番号(デフォルトは3306)の受信の規則を作成して有効にします。
22.リモート接続が特定のPCのみからのアクセスの場合は、ファイアウォールのスコープを設定するとセキュリティが強化されます。設定の手順は、「セキュリティが強化された Windows ファイアウォール」の左メニューで「受信の規則」を選択して、受信の規則の一覧を表示して、「MySQL Server」を選択します。次に右クリックして、プロパティを選択して、プロパティの設定画面を表示して、「スコープ」タブを選択します。「リモート IP アドレス」で「これらの IP アドレス」を選択して、「追加」ボタンをクリックして、接続を予定しているPCのIPアドレスを入力します。
23.管理ツール
以上で MySQL は動作してますが、MySQL を運用していく場合、GUIで簡単に管理ができるツールが必要になります。MySQLの管理ができるツールで代表的なのは、以下の2つです。
MySQL Workbench (MySQL GUI Tools は、2010/6/30 でサポートが終了)は、MySQLの開発元が提供しているデスクトップアプリケーションの管理ツールです。Workbench は、5.2 から管理ツールが付属しています。
phpMyAdmin
PHPで動作するWEBアプリケーションで、多くのホスティングサーバーで、MySQL の管理ツールとして使用されています。php MyAdmin を利用する場合は、外部からアクセスされないように注意が必要です。
24.トラブルシューティング
MySQL のインストーラも改善されてインストール時にエラーが発生することも少なくなってきましたが、ここではエラーが発生して MySQL サーバが起動できない場合の対応をメモしておきます。
まず、MySQL のインストーラについての基本的なこととして、上記の1~6の操作で、MySQL のインストールは完了し、システムテーブルについても作成されているということ、またその時点での管理者(root)のパスワードは設定されていないということです。上記の7以降の設定ウィザードによる操作では、コンフィグの設定、サービスへの登録、root のパスワードの設定をおこなっています。したがって、上記の7以降の操作でキャンセルボタンをクリックしてもコンフィグの設定がキャンセルされるだけで、MySQL やシステムテーブルがアンインストールされるわけではありません。
7以降の操作については、以下のようにインストーラを使用せずにおこなうことができます。
・コンフィグの設定
オプションファイル my.ini を編集します。なお、my.ini ファイルは、MySQL のインストールディレクトリにあります。また、エディターは、「管理者として実行」で起動します。
・サービスのインストール
サービスをインストールするためには、コマンドプロンプトを「管理者として実行」で起動して、デフォルトのディレクトリにインストールしている場合は以下のコマンドを実行します。
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --install
サービスを起動するには、以下のコマンドを実行するか、管理ツールの「サービス」から起動します。
NET START MySQL
(管理ツールの「サービス」からの起動)
・root のパスワードの設定
「スタート」ボタン、「すべてのプログラム」、「MySQL」、「MySQL Server 5.1」、「MySQL Command Line Client」を順にクリックして、MySQL Command Line Client を起動します。起動するとパスワードを尋ねられますが、設定をしていない場合は、何も入力せずにリターンキーを入力します。そして、以下のコマンドを実行します。
SET PASSWORD = PASSWORD('******');
(1)エラーの確認
MySQL では、エラーに関する情報をエラーログに記録するしているので、エラーログでエラーの確認をすることができます。エラーログは my.ini ファイルで指定したデータ ディレクトリにあります。デフォルトのデータ ディレクトリは C:\ProgramData\MySQL\MySQL Server 5.1\data にあります。なお、C:\ProgramData のディレクトリは、隠しディレクトリになっているので、エクスプローラで表示するためには、「フォルダーオプション」で設定が必要です。
なお、最近ではインストーラも親切になっており、エラーがあった場合には、以下のようにエラーメッセージが表示されるので、エラーログを見ないとわからないケースが少なくなってきました。下の図の 1045 エラーは、よく発生するエラーで、ファイアーウォールが原因でMySQL が使用する TCP 3306 ポートを使った通信ができなかった場合に発生します。この場合は、ファイアーウォールを停止して再度インストールをおこなうか、MySQLのインストール及びコンフィグの設定は完了しているので、上で説明したインストーラを使用しない方法で、サービスを起動して、root のパスワードを設定してやれば設定を完了することができます。
また、MySQL のサービスが起動しない場合、「NET START MySQL」コマンドを実行するか、管理ツールの「サービス」で開始させると、エラーメッセージが表示されるので、エラーの原因を確認することができます。
(2)設定ウィザードによる再設定
MySQL をインストール後、設定ウィザードは、「スタート」ボタン、「すべてのプログラム」、「MySQL」、「MySQL Server 5.1」、「MySQL Server Instance Config Wizard」を順にクリックすれば、いつでも起動して MySQL の再設定をおこなうことができます。
再設定の場合、ウィザードの画面は、上記の7~18と基本的には同じですが、違いは、上記8の画面の前に、以下の画面が表示されます。再設定の場合は、「Reconfigure Instance」を選択して、「Next」ボタンをクリックします。
また、上記16の画面では、以下のように、現行のパスワードの入力欄(Current root password:)が追加されます。パスワードの設定をしていない場合は、空白のままにしておきます。
(3)再インストール
再インストールをしたい場合は、以下の手順で、MySQL を完全にアンインストールする必要があります。MySQL は「コントロールパネル」の「プログラムのアンインストール」でアンインストールします。ここで注意しなければいけないのは、MySQL をアンインストールしても、データベース、サービス、my.ini ファイルはアンインストールされずに残るということです。それらをアンインストールする手順を以下にまとめました。なお、必要なデータをデータベースに保存している場合は、必ずバックアップをとるようにしてください。
・ データベースの削除
my.ini ファイルで指定したデータ ディレクトリにあります。デフォルトのデータ ディレクトリは C:\ProgramData\MySQL\MySQL Server 5.1\data です。システムテーブルは、mysql ディレクトリにあるのでmysql ディレクトリを手動で削除します。なお、エクスプローラで ProgramData フォルダーが表示されない場合は、隠しフォルダーになっているためなので、フォルダーオプションで、隠しフォルダーを表示する設定にします。
・ サービスのアンインストール
MySQL のアンイストール前であれば、「スタート」ボタン、「すべてのプログラム」、「MySQL」、「MySQL Server 5.1」、「MySQL Server Instance Config Wizard」で設定ウィザードを起動します。「Next」ボタンをクリックすると以下の画面が表示されるので、「Remove Instance」を選択して、「Next」ボタンをクリックするとサービスのアンインストールができます。
また、MySQL のアンイストールした場合には、コマンドプロンプトを「管理者として実行」で起動して、以下のコマンドを実行することで、MySQL のサービスをアンインストールできます。
sc delete mysql
・ my.ini
my.ini ファイルは、MySQL のインストールディレクトリにあります。手動で名前を変更するか、削除します。