今回は、MySQLの自動インストール手順の2.と3.を行ってきます。
- MySQLインストーラーのダウンロード
- MySQLインストーラーのインストール
- MySQL Serverのインストール
- 環境変数の設定
2.MySQLインストーラーのインストール
MySQL Communityインストーラーのインストールコード
MySQLのInstallerであるMySQL Communityのインストールを実行します。
まずはコードからです。
// MySQLのインストーラーファイル名 string exeName = "mysql-installer-community-8.0.23.0.msi"; // ディレクトリはインストーラーの配置個所を設定する // EXEの配置しているディレクトリから相対的に探すことも可能です string installer = "インストーラーの配置ディレクトリ" + exeName; // /passiveオプションをつけてユーザの操作を不要にします // インストーラーのパスは"(ダブルクォーテーション)で囲んでおきます string argument = @"/i "" + installer + @"" /passive"; // WindowsインストーラーのEXEであるmsiexec.exeを、引数付きで起動します StartProcess("msiexec.exe", argument);
処理内容
msiexec.exeをコマンドプロンプトで引数に/passiveをつけて起動する。
という動作をC#によりコード上で行ったものとなります。
msiexec.exeを「C# MySQLを自動でインストールしたい!①」で作成したプロセス実行のメソッドを使用し、管理者権限で起動しています。

C# MySQLを自動でインストールしたい!① 方法概要とVisual Studioでのプロセス実行コード
MySQLのインストールを毎回自分で行う必要があるのは面倒です。
そこで、C#を使用でMySQLのインストーラーを使って自動でインストールを行うための方法を紹介します。
msiexec.exeとは、
Windowsに元々搭載されているインストーラの実行ファイルで、実行ファイルは
%WINDIR%\system32\msiexec.exe
に配置されています。
3.MySQL Serverのインストール
MySQL Serverのインストールコード
MySQL Installerを使用してMySQL Serverのインストールを実行します。
まずはコードからです。
// MySQLインストーラーのファイルパス string exePath = @"C:\Program Files (x86)\MySQL\MySQL Installer for Windows\MySQLInstaller.exe"; // MySQL Installerを起動 // MySQL Installerの構築環境オプション // MySQLサーバーのサーバーID、ポート番号を設定。インストーラーの初期値です。 // root アカウントの初期パスワード、サービス名を設定。インストーラーの初期値です。 // 値を変更したい場合は適宜変数化してください string argument2 = @"/C " + @""" + exePath + @""" + " community install server;8.0.23;x64;*:type=config;openfirewall=true;generallog=true;binlog=true;" + "serverid=3306;enable_tcpip=true;port=3306;"+ "rootpasswd=mysql;ServiceName=MySQL80;" + " -silent"; // コマンドプロンプトであるcmd.exeを、引数付きで起動します StartProcess("cmd.exe", argument2);
処理内容
MySQLインストーラーの実行ファイルは、MySQL Communityでのインストール時に、
C:\Program Files (x86)
に配置されます。
このMySQLのインストーラーをコマンドプロンプトにより実行します。コマンドプロンプトは管理者権限で起動することで管理者権限でインストールをしています。
「/C」オプションは、コマンドを実行した後に、コマンドプロンプトを終了するオプションです。
MySQL Serverのインストール時にいくつかのオプションを指定しておきます。
serverid=3306 : サーバーIDは規定値が3306です
port=3306 : ポート番号は規定値が3306です
rootpasswd=mysql : rootユーザのパスワードです。設定しないと空文字になります。
ServiceName=MySQL80 : Windowsのサービスに表示される名前です
コメント