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

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

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

1.概要

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

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


2.ダウンロード

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

dev.mysql.com

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


3.インストール

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


インストーラーが起動して、まずは【Choosing a Setup Type】が表示されます。

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

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

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

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

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

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

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


次は【Check Requirements】が表示されます。

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


するとC++のランタイムのウィンドウが開きます。

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


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


次は【Installation】が表示されます。

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


StatusがCompleteになったら【Next】をクリックします。


次に【Product Configuration】が表示されます。

ソフトウェアの設定に移りますよとのことなので【Next】をクリックします。


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


【High Availablility】

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


【Type and Networking】

サーバータイプとネットワーク接続の設定になります。

【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】

認証方式の設定になります。

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


【Accounts and Roles】

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

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


【Windows Service】

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】

これまでの設定の最終確認画面です。
【Execute】をクリックします。


設定が完了すると下図のとおりとなり【Finish】をクリックします。


【Product Configuration】

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


【Installation Complete】

インストールが完了になります。

4.動作確認

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

【Accounts and Roles】で設定したrootのパスワードを入力すると
下図のとおりMySQLへ接続出来ました。



ちなみに今回はサービスに登録しなかったので
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

となります。