WindowsにMySQL5.7をインストールする

# はじめに

技術書典7で[「入門!実践!サーバーサイドKotlin」](https://techbookfest.org/event/tbf07/circle/5754479999713280)という本を出すのですが、
その中でWindowsのMySQLのインスートル方法を解説していました。
「していました」というのはその後、
ページ数の都合でSpring組み込みの「H2 Database」に変更したのでまるっと削除したのです。

さすがにもったいないなーと思ったのでここで公開しておきます。
今時はコンテナを使うのであまりローカルにMySQLをインストールすることは無いかと思いますが、
レガシーな環境の人はプロジェクトが「秘伝のタレ」状態でdockerとかなにそれ美味しいの？状態だったりします。
そういう人（過去の自分）だったりとか、
あとWindowsのMySQLインストール手順が複雑でいざやろうと思うのでハマるので誰かの参考になれぱ幸いです。
(ちなみにMacはHomebrewでコマンド一発なので、差がありすぎますよね…w)

ちなみに**調査したのは2019年8月末**です。
バージョンアップして情報が変わっていてもご容赦願います。
(ダウンロードページは9/8の時点で既に変わっていました…)

# バージョンなど

 * MySQL 5.7
 * Windows：Windows 10 Version 1903（OS Build 18362. 295）


# インストール手順

## インストーラーのダウンロード

1.まずは公式サイトにアクセス。

[公式サイト](https://www.mysql.com/)

2.ダウンロードをクリックしてダウンロードページに移動します。

<img width="906" alt="スクリーンショット 2019-09-08 16.09.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/fd668f96-5e4f-8c91-b16c-8da1ce399217.png">

3.一番下にある「MySQL Community (GPL) Downloads »」をクリック。

<img width="489" alt="スクリーンショット 2019-09-08 16.10.53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/b601d2e5-5994-1a01-4b79-c055c786cf08.png">


4.「MySQL Community Server」をクリック。

<img width="680" alt="スクリーンショット 2019-09-08 16.12.56.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/234d3497-e311-8b14-f1e3-df58981460d4.png">

5.Windowsを選択して、**右側の「Looking for previous GA versions?」**をクリック。

<img width="919" alt="スクリーンショット 2019-09-08 16.15.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/9d4722e0-0b1b-24c4-c85f-58eba1ab401d.png">

6.MySQLのバージョン、OS、OSのビット数を選択して**「Go to Download Page」**をクリック。

<img width="715" alt="スクリーンショット 2019-09-08 16.18.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/0de347bd-b799-7801-c7fe-70301fad0e66.png">

7.Web版と通常版があるので**通常版**をのDownloadをクリック
ファイル名にwebと書かれている方がweb版なので、
webと書かれてない方をダウンロードする。

![mysql_inst_0060.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/e275b492-d41e-442e-609f-957a9f770240.png)

8.「No thanks, just start my download.」をクリックしてダウンロード開始。
これでようやくダウンロードが始まります。
お疲れ様でした。

![mysql_inst_0070.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/eb35fdf4-d7b8-4e3d-02d7-2cfe2355cbfe.png)



## インストール

1.ダウンロードしたインストーラーを起動すると、規約の確認がでます。
確認して次へをクリックします。

![mysql_inst_0080.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/56b88a89-d50b-8fbb-f1c6-f8aa1526552c.png)

2.次の「Choosing a Setup Type」は「Developer Default」が選択されていることを確認して次へをクリックします。

![mysql_inst_0090.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/badaae82-a565-88fe-e28b-1f97bcee40bf.png)

3.次の画面は「Execute」をクリックします。

![mysql_inst_0100.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/d0204435-8c98-080c-0ca2-22a5b01f3d23.png)

4.すると次のようなVisual Studio Toolsのインストール画面が表示されるのでライセンス条項を確認してチェックしInstallします。

![mysql_inst_0110.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/803128bd-129d-4ac2-4e8f-8a336c403f6b.png)

5.インストールが完了したらFinishをクリックして画面を閉じます。

![mysql_inst_0120.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/41ed25ae-4163-902e-9a5d-6cb2dba0330c.png)

6.「Check Requirements」画面に戻るので「Next」をクリックします。
このとき「MySQL For Excel」や「MySQL For Visual Studio」が残っていますが無視して大丈夫です。
「Next」をクリックすると次のような警告が出ますが、Yesをクリックして大丈夫です。

![mysql_inst_0130.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/490a36bf-07d9-fd46-de67-4400be168983.png)

7.InstarationではExecuteをクリックします。すべてCompleteと表示されたら、「Next」をクリックします。

![mysql_inst_0140.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/789f79a3-4ede-3efd-e468-82c735d6a153.png)

8.次の「Product Configuration」はそのまま「Next」をクリックします。

![mysql_inst_0150.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/c5ca5009-bea4-2c9c-2349-fd0b8d4dd335.png)

9.次の「High Availabillity」は「Standalone MySQL Server / Classic MySQL Replication」が選択されていることを確認して「Next」をクリックします。

![mysql_inst_0160.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/a94bbb4b-d87f-0339-a858-ce3aa9eb4188.png)

10.次の「Type and Networking」ではConfig Typeの項目が「Development Computer」になっていることを確認して「Next」をクリックします。

![mysql_inst_0170.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/c66e082f-f058-deb7-7fd6-d8b40caecc69.png)

11.次の「Account and Roles」ではパスワードを入力して「Next」をクリックします。画面下部の「MySQL User Accunts」は空欄のままで大丈夫です。

![mysql_inst_0180.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/35f3221b-9422-59be-f039-b53f73dfbea8.png)

12.次の「Windows Service」はそのまま「Next」をクリックします。

![mysql_inst_0190.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/97ee9862-e71b-94ea-df7e-125ee8ecbdc0.png)

13.次の「Apply Configuration」はそのまま「Execute」をクリックします。終わったらすべて緑のチェックが付くので、付いたら「Finish」をクリックします。

![mysql_inst_0200.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/223886b1-c3a3-d09a-8da4-80fa30fc4605.png)

14.次の「Product Configuration」はそのまま「Next」をクリックします。

![mysql_inst_0220.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/4db29a25-0451-32d7-912e-d9c193c497c3.png)

15.次の「MySQL Router Configuration」はそのまま「Next」をクリックします。

![mysql_inst_0230.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/9188a8e6-36c6-735f-acae-cb055100e08a.png)

16.次の「Product Configuration」はそのまま「Next」をクリックします。

![mysql_inst_0240.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/a549eed4-95a4-e92c-f425-69c32e4f4a83.png)

17.次の「Connect To Server」は「Password」欄にさきほど入力したパスワードを入力して「Check」をクリックします。

![mysql_inst_0250.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/c7a92bf2-bfaa-7d7f-d0da-65a393ddd07b.png)

18.次の画像のように緑の「Connection secceeded.」が表示されたら「Next」をクリックします。

![mysql_inst_0260.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/a549b8b5-691f-532b-82d0-55217b067fe4.png)

19.次の「Apply Configuration」はそのまま「Execute」をクリックします。
終わったらすべて緑のチェックが付くので、付いたら「Finish」をクリックします。

![mysql_inst_0270.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/9407711f-5b7b-240a-e909-612c9523e4ba.png)

20.次の「Product Configuration」はそのまま「Next」をクリックします。

![mysql_inst_0290.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/1a211663-875f-f0fa-14bf-00f2182eb22e.png)

21.次の「Installation Complete」でインストール完了です!
「Finish」をクリックして終了します!
お疲れさまでした!

![mysql_inst_0300.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277397/fd1f8e25-974a-4686-dfba-806bfaa561ab.png)


## 文字コードの設定

さてインストールは完了しましたが、このままだと文字コードの関係でデータ登録時に文字化けするので、設定を変更します。
「C:\ProgramData\MySQL\MySQL Server 5.7\my.ini」を開いて編集します。

それぞれ、[client]、[mysql]、[mysqld]の各セクションに文字コードの設定を入れていきます。
MySQLの設定ファイルは[client]のあと次の[xxxx]が出現するまで[client]のセクションとなります。
このセクションにそれぞれ文字コード設定を入れていくわけです。

設定は次の通りです。

|セクション|設定名|値|
|:---:|:---:|:---:|
|[client]|default-character-set|utf8|
|[mysql]|default-character-set|utf8|
|[mysqld]|character-set-server|utf8|

設定したらサービスを再起動します。

サービスの再起動はWindows + Rキーに「services.msc」と入力して、
起動したサービス一覧の「MySQL57」を右クリックして「Restart」を選択します。


## インストール確認

その後、スタートメニューにある「MySQL 5.7 Command Line Client - Unicode」を起動して、
インストール時に入力したパスワードでログインできればインストール完了です。


# おわりに

というわけで技術同人誌新刊のボツネタ供養の投稿でした。

技術同人誌の新刊は「入門!実践!サーバーサイドKotlin」というタイトルで、
初心者向けにSprting BootでサーバーサイドKotlinをやってみた！という感じの本を出す予定です。

[サークルページ](https://techbookfest.org/event/tbf07/circle/5754479999713280)でサークルチェックしたり、
どんな本か？というのは[別途ブログ](https://fortegp05.hatenablog.com/entry/2019/08/27/172327)にまとめましたので、よかったらご覧ください。