中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

【MySQL8.0】インストールから初期設定を行い動作確認を行う for Windows

1.概要

最近はライセンスの関係でBDSライセンスである【PostgreSQL】を使うことが多かったのですが、機会があったので【MySQL】を使ってみようかと思います。

【MySQL Community Server】であれば無料で使用できますが
ライセンスはGPLとなるので注意が必要です。


2.ダウンロード

下記URLからダウンロードを行います。
開発環境はwindowsです。

dev.mysql.com

バージョンは【8.0.21】でした。
ダウンロードボタンが2つありますが、オンラインかオフラインかの違いですのでどちらでも構いません。
今回はオフラインインストーラーをダウンロードします。
f:id:tsu--kun:20200831161842p:plain


3.インストール

【mysql-installer-community-8.0.21.0.msi】
を実行してインストールします。


インストーラーが起動して、まずは【Choosing a Setup Type】が表示されます。
f:id:tsu--kun:20200831161954p:plain

ここではインストールするソフトウェアを選択します。
詳細は下記のとおりですが、右側の【Setup Type Description】の内容を見て
必要なソフトウェアを確認してインストール、をお勧めします。
今回はサーバーのみが必要なので【Server only】を選択しました。

・Developer Default
MySQLの開発に必要なすべての製品をインストールします。

・Server only
MySQLサーバー製品のみをインストールします。

・Client only
MySQLクライアント製品のみをインストールし、サーバーはインストールしません。

・Full
含まれているすべてのMySQL製品と機能をインストールします。

・Custom
システムにインストールする必要がある製品を手動で選択します。

【Next】をクリックします。


次は【Check Requirements】が表示されます。
f:id:tsu--kun:20200831162816p:plain

MySQLを使うために不足している要件についてになります。
私の環境ではC++ 2019 rutimeが不足しているようです。
【Execute】をクリックしてインストールします。


するとC++のランタイムのウィンドウが開きます。
f:id:tsu--kun:20200831162852p:plain

これは必要なものですので【インストール】をクリックします。


f:id:tsu--kun:20200831162919p:plain

完了したら【Next】をクリックします。


次は【Installation】が表示されます。
f:id:tsu--kun:20200831162952p:plain

【Execute】をクリックするとProgressの部分にインストールの進捗が表示されます。

f:id:tsu--kun:20200831163035p:plain
StatusがCompleteになったら【Next】をクリックします。


次に【Product Configuration】が表示されます。
f:id:tsu--kun:20200831163104p:plain
ソフトウェアの設定に移りますよとのことなので【Next】をクリックします。


ここからは【MySQL】の設定になります。


【High Availablility】
f:id:tsu--kun:20200831163311p:plain

【MySQL InnoDB Cluster】を利用するかどうかの選択です。
これは何かというと高可用構成にするかどうかの設定で
壊れてもクラスタリングしたり、負荷分散のロードバランサ―があったり
不測の事態に備えたシステムといった感じです。
今回はデフォルトの
【Standalone MySQL Server/Classic MySQL Replication】
のまま【Next】をクリックしました。


【Type and Networking】
f:id:tsu--kun:20200831163357p:plain
サーバータイプとネットワーク接続の設定になります。

【Config Type】で使用するPCを選択します。
今回は自分の開発環境用なので【Development Computer】を選択しました。
運用の場合は【Server Computer】か【Dedicated Computer】を選択します。

次にネットワーク設定です。

【Port】に関してはデフォルトのままで使用します。
他とバッティングする場合などは任意のポートに変更します。
また、【Open Windows Firewall ports for network access】
についてはチェックを外しました。

【Named Pipe】
名前付きパイプについては、プロセス間通信を行う場合に使います。
TCP/IPではなくプロセス間通信でDBとのやり取りを行う特殊な場合などは
ここにチェックを入れるという認識です。(windowsのみの設定)

【Shared Memory】
クライアントが共有メモリーを使用して接続できるようにするために、
Windows サーバーによって使用される共有メモリー名を指定します。
共有メモリー接続を許可するように構成されたサーバーについてのみ、
個別の共有メモリー名を指定することが必要です。(windowsのみの設定)そのまま引用


【Show Advanced and Logging Options】
チェックを入れることで【logging options】と【advanced options】の設定が追加されます。
今回はチェックを外しました。

【Next】をクリックします。


【Authentication Method】
f:id:tsu--kun:20200831163514p:plain
認証方式の設定になります。

【Use Strong Password Encryption for Authentication(RECOMMENDED)】
MySQL8は、強化されたより強力なSHA-256ベースのパスワード方式に基づく新しい認証をサポートしています。
今後、すべての新しいMySQLサーバーのインストールでこの方式を使用することをお勧めします。
とのことなので、過去バージョンを使う予定はないので、このまま【Next】をクリックします。


【Accounts and Roles】
f:id:tsu--kun:20200831163603p:plain

Rootのパスワード設定と、ユーザーの追加になります。
必要あればここでユーザーの追加を行いますが
今回はRootのパスワードだけ設定します。

【Next】をクリックします。


【Windows Service】
f:id:tsu--kun:20200831163615p:plain

Windowsのサービスとして動かすかどうかの設定になります。
【Windows Service Name】にはサービスに登録される名前を入力します。

【Start the MySQL Server at System Startup】にチェックを入れることで
マシン起動時にMySQLが自動的に起動します。

【Run Windows Service as ...】
はMySQLサービスを実行するアカウントを設定します。

今回は開発用なので【Configure MySQL Server as a Windows Service】のチェックを外しました。


【Apply Configration】
f:id:tsu--kun:20200831163749p:plain
これまでの設定の最終確認画面です。
【Execute】をクリックします。


設定が完了すると下図のとおりとなり【Finish】をクリックします。
f:id:tsu--kun:20200831163829p:plain


【Product Configuration】
f:id:tsu--kun:20200831163841p:plain
【Next】をクリックします。


【Installation Complete】
f:id:tsu--kun:20200831163853p:plain
インストールが完了になります。

4.動作確認

スタートメニューにある【MySQL 8.0 Command Line Client】を実行します。

【Accounts and Roles】で設定したrootのパスワードを入力すると
下図のとおりMySQLへ接続出来ました。
f:id:tsu--kun:20200831163908p:plain



ちなみに今回はサービスに登録しなかったので
MySQLを起動する場合は下記コマンドを実行します。

>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"


サービスに登録する場合は

>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install MYSQL80 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"


サービスから削除する場合は

>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --remove MYSQL80

となります。