Windows 8/7/Vista に MySQL をインストール

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.MysQLは現時点では、バージョン 5.5 が最新の安定版です。MySQL の Community Server のダウンロードのページから、MySQL Community Server の Windows 版の MSI Installer をダウンロードします。32-bit と 64-bit 版があるので使用している Windows にあわせてダウンロードします。なお、こちらにバージョン 5.1 の時のメモを残しています。

2.ダウンロードしたバイナリファイルをダブルクリックして起動します。セットアップウィザードが初期画面が表示されるので、「Next」ボタンをクリックします。
mysql01

3. 次にライセンスが表示されるので、ライセンス条項に同意するをチェックして、「Next」ボタンをクリックします。
mysql02

4.セットアップのタイプの選択画面が表示されます。通常は、「Typical」を選択しますが、C ドライブ以外にインストールしたいような場合は、「Custom」を選択します。タイプの選択が終了したら「Next」ボタンをクリックします。
mysql03

5.インストールの準備が完了したという画面が表示されます。問題がなければ、「Install」ボタンをクリックします。
mysql04

6.インストールが開始されます。
mysql05

7.次に Enterprise 版の宣伝の画面が表示されますが「Next」ボタンをクリックします。以下の画面が表示されると MySQL のインストールは完了です。引き続いて MySQL のインスタンスの設定をする必要があるので「Launch the MySQL Instance Configuration Wizard」のチェックはそのままオンにしておいて「Finish」ボタンをクリックします。
mysql07

8.MySQLのインスタンスの設定ウィザードが表示されます。「Next」ボタンをクリックします。
mysql08

9.設定ウィザードでできるだけ設定をおこなってしまうので、「Detailed Configuration」を選択して、「Next」ボタンをクリックします。
mysql09

10.サーバー用であれば「Server Machine」を選択します。開発用やサーバー用でもメモリが少なくアクセス数も少ない場合は、「developer Machene」を選択します。選択したら「Next」ボタンをクリックします。
mysql10

11. WordPress を動作させたいだけであれば、「Non-Transactional Database Only」で十分ですが、ディスクに余裕があれば「Multifunctional Database」を選択して、「Next」ボタンをクリックします。
mysql11

12. 「Multifunctional Database」を選択した場合は、InnoDBの保存場所を尋ねてきます。適当な場所を設定して、「Next」ボタンをクリックします。
mysql12

13. 同時接続数の選択画面が表示されます。デフォルトの「Decision Support(DSS)/OLAP」で特に問題はないと思いますが、メモリに余裕がなければ「Manual Serring」で同時接続数を少なくしてもいいと思います。選択が終了したら、「Next」ボタンをクリックします。
mysql13

14. リモート接続する必要がある場合は、「Enable TCP/IP Networking」にチェックし、ローカルで運用する場合は、チェックをはずします。リモート接続する場合は、ファイアウォールを開放してやる必要があるので、「Add firewall exception for this port」にチェックをします。選択が終了したら、「Next」ボタンをクリックします。
mysql14

15. デフォルトの文字コードの設定画面です。日本語で使用する場合は、「Best Support For Multilingualism」を選択します。デフォルトの文字コードは、UTF8 になります。設定が終了したら、「Next」ボタンをクリックします。
mysql15

16. Windows サービスとしてインストールするかと MYSQL の Bin ディレクトリをWindows PATH に含めるかどうかの選択画面です。両方にチェックをして、「Next」ボタンをクリックします。
mysql16

17. 管理者のパスワードの設定画面です。適正なパスワードを入力します。MySQLの場合、管理者のIDは、root です。別のマシンからコントロールしたい場合は、「Enable root access from remote machines」にチェックをし、そうでない場合は、チェックをはずします。「Next」ボタンをクリックします。
注意:以前のバージョンで 「Enable root access from remote machines」にチェックをするとインストールの最後で Error Nr. 1364 「Field 'authentication-string' doesn't have a default value」というエラーが発生するバグがありましたが、最近のバージョンでは解消されています。
mysql17

18. 以上で MySQL の設定項目の入力が完了し、設定の準備ができたという画面が表示されます。「Execute」ボタンをクリックします。
mysql18

19. 設定の完了画面です。
mysql19

20. 接続の確認をします。「スタート」->「すべてのプログラム」->「アクセサリ」->「コマンドプロンプト」の順でクリックして「コマンド プロンプト」を起動させます。起動すると以下のとおり入力して Enter キーを押します。

mysql -u root -p

Enter password: とパスワードを尋ねてくるので 17.で設定した root のパスワードを入力して Enter キーを押します。
なお、16. で、「MYSQL の Bin ディレクトリをWindows PATH に含める」という選択をしなかった場合は、mysql の前に Bin ディレクトリのフルパスをつける必要があります。標準のインストールでは、以下のようになります。

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql -u root -p


mysql21

21. 以下の画面が表示されれば、データベース管理者である root で接続できることが確認できました。
mysql22

22. リモート接続をしたい場合で、17. でリモート接続の設定をしていない場合には、上のコマンド プロンプトの画面でmysql> 以下に以下のコマンドを入力して Enter キーを押します。なお、password の部分については適当なパスワードを入力してください。このコマンドが成功すれば、root でリモート接続できるようになります。

grant all on *.* to root@"%" identified by 'password' with grant option;

23. リモート接続をする場合には、Windows ファイアウォールを開く必要がありますが、14.で「Add firewall exception for this port」にチェックをしてあれば、MySQL Server の受信の規則が作成されて有効になっています。もし、MySQL Server の受信の規則が作成されていない場合は、「スタート」->「すべてのプログラム」->「管理ツール」->「セキュリティが強化された Windows ファイアウォール」の順にクリックして、「セキュリティが強化された Windows ファイアウォール」を立ち上げます。左メニューで「監視」の「ファイアウォール」を選択すると、有効なファイアウォールの一覧が表示されます。「受信の規則」で、プロトコルTCP-IP、ポート番号(デフォルトは3306)の受信の規則を作成して有効にします。

24. リモート接続が特定のPCのみからアクセスする場合は、ファイアウォールのスコープを設定するとセキュリティが強化されます。設定の手順は、「スタート」->「すべてのプログラム」->「管理ツール」->「セキュリティが強化された Windows ファイアウォール」の順にクリックして、「セキュリティが強化された Windows ファイアウォール」を立ち上げます。「セキュリティが強化された Windows ファイアウォール」の左メニューで「受信の規則」を選択して、受信の規則の一覧を表示して、「MySQL Server」を選択します。
mysql20

25. 次に右クリックして、プロパティを選択して、プロパティの設定画面を表示して、「スコープ」タブを選択します。「リモート IP アドレス」で「これらの IP アドレス」を選択して、「追加」ボタンをクリックして、接続を予定しているPCのIPアドレスを入力します。
mysql24

26. 管理ツール
以上で MySQL は動作してますが、MySQL を運用していく場合、GUIで簡単に管理ができるツールが必要になります。MySQLの管理ができるツールで代表的なのは、以下の2つです。

MySQL Workbench は、MySQLの開発元が提供しているデスクトップアプリケーションの管理ツールです。Workbench は、5.2 から管理ツールが付属しています。

phpMyAdmin
PHPで動作するWEBアプリケーションで、多くのホスティングサーバーで、MySQL の管理ツールとして使用されています。php MyAdmin を利用する場合は、外部からアクセスされないように注意が必要です。

27. トラブルシューティング

MySQL のインストーラも改善されてインストール時にエラーが発生することも少なくなってきましたが、ここではエラーが発生して MySQL サーバが起動できない場合の対応をメモしておきます。

まず、MySQL のインストーラについての基本的なこととして、上記の1~6の操作で、MySQL のインストールは完了し、システムテーブルについても作成されているということ、またその時点での管理者(root)のパスワードは設定されていないということです。上記の7以降の設定ウィザードによる操作では、コンフィグの設定、サービスへの登録、root のパスワードの設定をおこなっています。したがって、上記の7以降の操作でキャンセルボタンをクリックしてもコンフィグの設定がキャンセルされるだけで、MySQL やシステムテーブルがアンインストールされるわけではありません。

7以降の操作については、以下のようにインストーラを使用せずにおこなうことができます。

・コンフィグの設定
オプションファイル my.ini を編集します。なお、my.ini ファイルは、MySQL のインストールディレクトリにあります。また、エディターは、「管理者として実行」で起動します。

・サービスのインストール
サービスをインストールするためには、コマンドプロンプトを「管理者として実行」で起動して、デフォルトのディレクトリにインストールしている場合は以下のコマンドを実行します。
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install
サービスを起動するには、以下のコマンドを実行するか、管理ツールの「サービス」から起動します。
NET START MySQL
(管理ツールの「サービス」からの起動)
mysql28

・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」コマンドを実行するか、管理ツールの「サービス」で開始させると、エラーメッセージが表示されるので、エラーの原因を確認することができます。
mysql36

(2)設定ウィザードによる再設定

MySQL をインストール後、設定ウィザードは「スタート」ボタン、「すべてのプログラム」、「MySQL」、「MySQL Server 5.5」、「MySQL Server Instance Config Wizard」を順にクリックすれば、いつでも起動して MySQL の再設定をおこなうことができます。

再設定の場合、ウィザードの画面は、上記の7~18と基本的には同じですが、違いは、上記8の画面の前に、以下の画面が表示されます。再設定の場合は、「Reconfigure Instance」を選択して、「Next」ボタンをクリックします。
mysql30

また、上記16の画面では、以下のように、現行のパスワードの入力欄(Current root password:)が追加されます。パスワードの設定をしていない場合は、空白のままにしておきます。
mysql34

(3)MySQL の完全アンインストール

再インストールをしたい場合は、以下の手順で、MySQL を完全にアンインストールする必要があります。MySQL は「コントロールパネル」の「プログラムのアンインストール」でアンインストールします。ここで注意しなければいけないのは、MySQL をアンインストールしても、データベース、my.ini ファイルはアンインストールされずに残るということです。それらをアンインストールする手順を以下にまとめました。なお、必要なデータをデータベースに保存している場合は、必ずバックアップをとるようにしてください。

・ データベースの削除

my.ini ファイルで指定したデータ ディレクトリにあります。デフォルトのデータ ディレクトリは C:\ProgramData\MySQL\MySQL Server 5.5\data です。システムテーブルは、mysql ディレクトリにあるのでmysql ディレクトリを手動で削除します。なお、エクスプローラで ProgramData フォルダーが表示されない場合は、隠しフォルダーになっているためなので、フォルダーオプションで、隠しフォルダーを表示する設定にします。

・ my.ini

my.ini ファイルは、MySQL のインストールディレクトリにあります。手動で名前を変更するか、削除します。

・ サービスのアンインストール

MySQL をアンイストールした場合でも、サービスがアンインストールできていない場合があります。この場合には、コマンドプロンプトを「管理者として実行」で起動して、以下のコマンドを実行することで、MySQL のサービスをアンインストールできます。
sc delete mysql