MySQLのインストール for Windows
※当サイトは、アフィリエイト広告を掲載し、収益を得て運営しています。

MySQL(マイエスキューエル)は、世界で最も普及しているオープンソースのデータベースソフトウェアです。オープンソースといっても商用でも使える程に高機能なので、実務の現場でもPostgreSQLと共に、非常によく使われます。個人的にはPostgreSQLよりも取っつきやすく感じますので、データベースを初めて使うのであれば、MySQLが最適だと思っています。また、WordPressにも最適ですね。
MySQLは、WindowsならXAMPP、MacならMAMPを利用すればまとめてインストールされますので、その場合は別途インストールは不要です。このページでは、ユーザが多いと思われるWindows環境に単品でMySQLをインストールする方法をご紹介します。
本ページはMySQLのバージョン5.5.13と古い内容です。バージョンを読み替えてなんとかなることもありますが、そうでないこともあります。他サイトでもっと最近解説されている記事がたくさんありますので、そちらをご覧になることをお勧めします。
MySQLのダウンロード
まずはMySQLをダウンロードしてきましょう。オフィシャルサイトのダウンロードページにアクセスしてください。今回はWindows用にインストールしますので、まずは[ Select Platform: ]の部分がMicrosoft Windowsになっていることを確認してください(おそらく最初から選択されていると思います)。
次に、インストールする対象を決めます。32bitマシンなら[x86, 32-bit]、64bitマシンなら[x86, 64-bit]の右端の[Download]をクリックしてください。

ここでは32bit環境にインストールするので、32bit版を選択しました。なにやらユーザ登録しなければいけない雰囲気の画面が表示されますが、下段の[ No thanks, just take me to the downloads! ]をクリックします。

ここでやっとダウンロード画面になります。ミラーサイトからダウンロードするのですが、今回はJAISTと、Internet Initiative Japan Inc.が出てきました。どちらを選んでもかまいません。また、それぞれHTTPとFTPがありますが、これもどちらでもOKです。ここではInternet Initiative Japan IncのHTTPをクリックしました。

ダウンロード画面になりますので、ファイルをデスクトップなどに保存してください。

MySQLのインストール
さっそくMySQLをインストールしましょう。ダウンロードしたインストーラファイルをダブルクリックで起動させます。

セットアップウィザードが表示されます。数秒待っていると、[ Next ]が選択できるようになるので、クリックして次に進めます。

規約が表示されます。規約に問題がなければ[I accept the terms in the License Agreement」をクリックして同意し、[ Next ]をクリックして次に進めます。

セットアップのタイプを選ぶところです。ここでは、標準的なインストールである[Typical]を選択しました。ご希望により、他を選択いただいてもかまいません。

インストールの準備ができました。[Install]ボタンをクリックして、インストールします。

しばらくまちます。

すると、下記のようなウィンドウがポップアップしてきます。Enterprise版の宣伝ですので、とりあえず[Next]を押してください。

もう一度[Next]を押してください。

Launch the MySQL Instance Configuration Wizardにチェックが入っていることを確認して、Finishをクリックしてください。インストールはこれにて完了です。

MySQLの設定
MySQLの設定画面が表示されます。(※万一この画面が表示されない場合は、スタートメニューからファイルの検索で、MySQLInstanceConfig.exeを探して、直接実行させてください)
[Next]をクリックしてください。

設定のタイプを選択します。詳細に設定するか、スタンダードの設定にするかです。ローカルのテスト環境ならStandard Configurationでもいいようですが、今回はDetailed Configurationを選択しました。[Next]をクリックしてください。

MySQLを利用するマシンの種類を選びます。上から開発用マシン・サーバマシン・MySQL専用サーバマシンです。今回はローカル開発用に使用するので、[Developer Machine]を選択します。

データベースの使用方法を選択します。トランザクション対応のDB(今は分からなくてもかまいません)オンリーにするか、一切トランザクションを使わないか、両方使うか、などが選べます。どちらも状況に応じて使いたいので、Multifunctional Databaseを選択して[Next]をクリックします。

トランザクション対応データベースエンジンであるInnoDB(今は分からなくてもかまいません)のデータの保存先です。特に理由がなければ、このままでOKです。[Next]をクリックしてください。

MySQLの同時接続数です。開発用のデータベースですので、このまま(Decision Support(DSS)/OLAP)でOKです。[Next]をクリックしてください。

TCP/IP/ネットワークの有効・無効などの設定です。このままでOKです。[Next]をクリックしてください。

キャラクタセットの設定です。日本語を使うためにベストな、UTF8を使うために、Best Support For Multilingualismを選択します。その後[Next]をクリックしてください。

Install As Windows Serviceは、MySQLをサービス(常駐プログラム)としてインストールするかどうかです。基本的には、常駐させた方が簡単に使えます。
Include Bin Directory in Windows PATHは、「Windowsにパスを通す」という意味です。パスを通しておいた方が便利ですので、ここではチェックを付けます。チェック後、[Next]をクリックしてください。

MySQLの管理者ユーザー(root)のパスワードを設定します(忘れないでくださいね)。Create An Anonymous Accountのチェックは不要です。[Next]をクリックしてください。

これまでの設定を反映させるための準備ができました。[Execute]をクリックしてください。

途中でこんなウィンドウがポップアップするかもしれません。[Skip]を押して閉じてください。

元の画面が下記のようになっていると思いますが、Cancelで閉じてかまいません。これでMySQLの設定は完了です。

動作確認してみる
さて、早速MySQLが動作しているか、確認してみましょう。ここでは、PHPを使って動作確認したいと思います。下記のコードをコピーし、テキストエディタに貼り付け、任意の名前でDocument Root以下に保存してください。なお、赤字の[mysqltest]部分は、先ほどご自身で設定したMySQのrootパスワードに置きかえてください。
$link = mysql_connect('localhost', 'root', 'mysqltest');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
?>
ここでは、Document Rootの最上位ディレクトリに、index.phpと名前を付けてファイルを保存しました。これでhttpからアクセス(http://localhost/index.php)して、下記のように表示されれば成功です。

画面が真っ白になってしまう場合
display_errorsがOFFになっている可能性があります。ローカル環境ではエラーが出る方が望ましいので、php.ini内の
display_errors = Off
という部分を、
display_errors = On
にしてApacheを再起動させてみてください。
もし、下記のように表示された場合は、php.iniで、MySQLの拡張モジュールを読み込ませなければなりません。

その場合、まずはPHPのエクステンションディレクトリが設定されているかを確認してください。設定した記憶のない方は、エクステンションディレクトリを登録しておくを参考に、登録しておいてください。
次に、php.iniからエクステンションを読み込ませます。php.ini内の、下記のような場所を探してください。私の環境では、600行付近にありました。
これを、下記のように;(セミコロン)を外してコメントを解除します。
PDOを使う場合
PDO(簡単に言えば、DBのデータアクセスを容易にするものです)を使う場合は、以下もセミコロンを外してコメントを解除しておきましょう。各DBに依存したコードを書かなくても済むようになるので、お勧めです。よくわからないという方でも、やっておいても損はないと思います。
;extension=php_pdo_mysql.dll
;↑のセミコロンを外してコメント解除する
Apacheを再起動し、これでもう一度先ほどのテストスクリプトを実行してみてください。「接続に成功しました」と表示されれば成功です。
12/06/30 facebookページ開設しました。RSS代わりにも使いたいと思います。
コメント
- ゆみママ さん 2011年07月13日11時41分
馬場様、こんにちは。 こちらの記事、お待ちしておりました! 今回もPHP同様、スムーズにインストールできました(*^_^*) PHPも空いた時間に少しずつ学習を進めています。 文字化けでちょっと四苦八苦していたのですが、それも解決できて、快適です。 ありがとうございました!
- 馬場誠 さん 2011年07月13日22時24分
ゆみママさん、こんばんは。 スムーズにインストールできたとのこと、良かったです(^^) PHPやMySQLに親しんでいくと、さらなる面白い世界が広がってくると思います。 とことん楽しんで学んでみてください♪
- non さん 2011年10月31日19時07分
よろしくお願いします。質問なのですが、 動作確認のところで、 「下記のコードをDocument Rootより上に、適当なファイル名で配置してください。」 とありますが、まずテキストエディタでコードを入力して新しいファイルを作ればいいのですよね? それと、初歩的な質問で申し訳ないのですが、 Document Rootより上に配置するという方法がわからないので、 教えていただけないでしょうか。 上にあるのと同じようにDocument Rootの最上位ディレクトリにファイルを保存したいのですが、Document Rootの最上位ディレクトリとはどこにあたるのでしょう?
- 馬場誠 さん 2011年10月31日20時59分
まず記事内の誤りを修正させてくださいm(__)m なぜそう書いたのか分かりませんが、「Document Rootより上」ではなく、「Document Root以下」が正しいです(記事は修正しました)。
> まずテキストエディタでコードを入力して新しいファイルを作ればいいのですよね?
おっしゃるとおりです。このコードは動作確認をしてからアップしていますので、よろしければ<?php ~ ?>までをコピペしてお使いください(パスワードのみ変更してくださいね)。 こちらも表現が分かりづらかったので修正しました。> Document Rootの最上位ディレクトリとはどこにあたるのでしょう?
各環境(httpd.confの設定)により異なりますが、nonさんはXAMPPでコメントをされた方ですよね!? XAMPPであれば、 初期設定ではXAMPPインストールフォルダの中のhtdocsというフォルダが、ドキュメントルートになっていると思います(もしご自分でDocumentRootを変更した場合は、httpd.conf内のDocumentRootの設定を確認してみてください)。 この場合、例えばC直下にXAMPPをインストールしたとるすると、C:\xampp\htdocs\ 以下にファイルを置けばOKです。- non さん 2011年10月31日23時43分
早速のご回答と、わかりやすい説明をしていただいて、ありがとうございます。 httpd.conf内のDocumentRootを確認して、そこに保存しました。 はい、xamppで質問させていただきました。 xamppだとApacheの起動が上手くいかないので、 単品でインストールしたら起動しました! 今度はphpとMySQLでつまづいていて、奮闘中です; 上にあるようにPHPを使って動作確認するには、 PHPを先に使えるようにしておく必要がありますよね? そこで、たびたび申し訳ないのですが、PHPのインストールについて質問です。 ・ダウンロードしたphpの圧縮ファイルを展開していると、 ファイルの読み込みエラーというのがが出てきて、展開している画面が終わりません。 完了画面が出てこなくても、新しいフォルダは出来るのですが、 問題ないでしょうか?(php.iniの設定でphp.iniは開けました。) フリーの解凍ソフトで解凍すると、 「'msql.dll'でデータエラーが発生しました。ファイルは壊れています。」 というメッセージが出てきました・・・ ・それと、ブラウザでhttp://localhostでアクセスすると 「Apache インストール時のテストページ」になって問題ないのですが、 index.phpを作成し、Document Rootの最上位ディレクトリに保存して、 ブラウザでhttp://localhost/index.phpでアクセスすると 「このファイルを開くか、または保存しますか?」 というメッセージがでてきてしまい、PHPが実行されません。 やはり解凍がうまくいってないのが原因なのでしょうか? 長々とすみません。ご回答いただけたらうれしいです。
- 馬場誠 さん 2011年11月01日20時04分
おっしゃるように、本文内のスクリプトを動かすにはPHPの実行環境が必要です。
> 完了画面が出てこなくても、新しいフォルダは出来るのですが、
> 問題ないでしょうか?
これは問題あると思います。必要なファイルが解凍されていないとPHPは動作しません。 通常、解凍のエラーはでませんので、他の解凍ソフトを使ってみてはいかがでしょうか(念のため今私もダウンロード&解凍してみましたが、エラーは出ませんでした)。- non さん 2011年11月02日15時10分
もう一度xamppをインストールし直したら成功しました。 パソコンをいじること自体慣れていないので、 一人で奮闘していたのですが、 勉強になり、励みになりました。 ありがとうございました。
- 馬場誠 さん 2011年11月03日01時44分
お役に立てたかはわかりませんが、とにかくインストールができて良かったですね! これからの学習、がんばってください☆
- 初心者 さん 2016年02月18日11時07分
初めまして。 MySQL 5.7 をインストールしたら、 「Launch the MySQL Instance Configuration Wizard」 のチェックボックスが出てきません。 原因は何かわかりますでしょうか。
- 馬場誠 さん 2016年02月19日07時55分
初心者さん、はじめまして。 最新のMySQLは、よりインストール方法がわかりやすくなっているようで、そのチェックボックスは出ないようです(普通に進めていけば、インストールができるようになっています)。 エラーが出ていなければ、問題無くインストールできている可能性があります。 コマンドプロンプト等から動作確認をされてもいいですし、分からなければ、ApacheとPHPの動作確認がとれた後に、改めてPHPから確認してみるのも良いと思います。 ※本ページも、できるだけ早く修正したいと思います。
- 初心者 さん 2016年02月19日09時18分
ありがとうございます。 他の参考となるサイトを探してみましたところ、 かなり古い状態のままで掲載しているところがたくさんありました。 WordPress 4.2.x 以上になると、 MySQL 5.6 以上推奨されているので、 いつも通りのインストールを実行しようと思っても、 DBにリンクできなくなり、 通常表示ではちゃんと表示できていますが、 管理画面では写真アップロードなどができない状態です。 MySQL 5.6 以上 コマンドプロンプトから動作する方法がわかれば、 ご教授お願いします。
- 馬場誠 さん 2016年02月20日10時17分
WordPressが正常に動作しない場合は、PHPとMySQLそれぞれのバージョン&設定のどこに問題があるかを見極める必要があります。(特にPHPが、慣れるまでは設定が難しいかもです) すでにMySQL5.7のインストールを試行されているとおもいますので、MySQLからバージョンを出力させるコマンド、 mysql --version で、インストール(動作)が確認できると思います。 (コマンドプロンプトから実行) もしMySQL5.7が入っていなかったり、古いバージョンが表示されている場合、パスが古いMySQLに登録されている、うまく入っていない、古い方が起動してしまって新しい方が起動できていない、等の可能性があります。 具体的に、PHPで接続時などに、どんなエラーが出ているかなどを記載いただければ、また違った回答ができるかもしれません。 ちなみに、msi形式のものを入れるのがもっとも簡単だと思いますよ。(ダウンロードページの、最も目立つ場所にあるものです) 古いMySQLを残したい場合は別ですが、余計な干渉があると、問題の切り分けに、より知識が必要となります。古いものを全てきれいにアンインストールしてから行う方が、難易度は下がるとは思います。(データベースのエクスポート等、必要に応じてデータのバックアップは適宜行っておく必要があります)
- 初心者 さん 2016年02月29日14時37分
お返事ありがとうございます。 mysql --version 調べたところ、まだ旧バージョンでした。 DBを全部バックアップして、 MySQL 5.5 をアンインストール(隠しフォルダにも削除済)して、 次に、 MySQL 5.7 .msi をインストール後、 そのあとの設定はどうしていますか? (phpMyAdmin にログイン不可になっている状態です。) ご教授お願いします。
- 馬場誠 さん 2016年03月02日18時50分
コメントの通知メールを見逃してしまい、お返事が遅くなり申し訳ありません。 PHPと一緒だと、どちらに問題があるのか分かりませんので、PHPから切り離して、まずはMySQLの動作確認をした方が良いです(もし確認が取れている場合は、途中は読み飛ばしてください)。 MSI形式のファイルで入れた場合、ほぼデフォルトで進めれば、MySQLにはたいした設定は要らなかったような気がします。 古いMySQLが削除されていて、MySQL5.7が入っているとすれば、 mysql --version で5.7と表示されるでしょうか? ■表示されない場合 ・過去のバージョンが表示される→古いMySQLが削除できていない ・コマンドとして認識されていないと表示される→MySQL5.7\binにパスを通してから再実行してみてください。 ここまでは無事実行できたとして、 mysql -u root -p(Enter) →パスワード入力が求められる →入力して、mysql>と表示されれば、MySQL5.7は確実に起動しています。 その他、PHPの方は、php.iniで extension=php_mysql.dll とMySQLのdllを有効にしておく必要があります。 phpMyAdminの方は、ユーザー名:root、パスワードはMySQL5.7インストール時に設定したものを使えばいけるはずです。 どこに問題があるのかを1つずつ切り分けていけば解決できると思いますが、切り分け方が分からない場合は、コメントいただければと思います。(現在の状況や、ご自身で行ったことを、できるだけ詳しくお書きいただけると、より正しい回答ができます)。
↓もし参考になりましたら、シェアしていただけると嬉しいです(^-^)