Windows10にMySQL 5.6.24 をインストール

2018年12月17日(約6年前)の記事となっております。色々ご注意ください。

覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。

特徴

  • Windows10
  • 複数バージョンの共存

特定バージョンでの開発や動作確認など開発環境での用途を目的としています。

環境

作業日2015-5-2
OS現在 : Windows10  64bit
当時 : Windows7  64bit

セットアップ当時は Windows7 でした。その後、無償アップグレードによりWindows10になりました。

インストール

ダウンロード

公式サイトからダウンロードします。
http://dev.mysql.com/downloads/mysql/

当時は5.6.24が最新だったのですが、いまとなっては古くなっています。
なので、赤枠の「Archived versions」を押します。

一番上の「MySQL Community Server」を押します。

バージョンを選んで、64bitの「Download」を押すとダウンロードが始まります。

Windows (x86, 64-bit), ZIP Archive 5.6.24 349.1M
mysql-5.6.24-winx64.zip

※ここではzipですが、最新版だとMSIのインストーラ付きを選択できる場合があります。その場合でもzip版をおススメします。

配置

解凍

zipと同名のディレクトリを作成して解凍します

ドライブレター:\www\mysql\mysql-5.6.24-winx64

ディレクトリ作成

logs と tmp のディレクトリを作ります。
場所はどこでも良いのですが例えば下記です。

ドライブレター:\data\mysql-5.6.24-winx64\logs
ドライブレター:\data\mysql-5.6.24-winx64\tmp

my.ini 作成

ドライブレター:\www\mysql\mysql-5.6.24-winx64\my.ini

my.ini は含まれていないので新規で作成し、次の内容をコピーして貼り付けます。

[mysqld]

port = 55624
user = mysql
basedir = D:/www/mysql/mysql-5.6.24-winx64
datadir = D:/www/var/mysql-5.6.24-winx64/data
tmpdir = D:/www/var/mysql-5.6.24-winx64/tmp
socket = D:/www/var/mysql-5.6.24-winx64/tmp/mysql.sock
pid-file = D:/www/var/mysql-5.6.24-winx64/logs/mysqld.pid
log-error = D:/www/var/mysql-5.6.24-winx64/logs/mysqld

# innodb_buffer_pool_size = 128M
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
character-set-server=utf8
explicit_defaults_for_timestamp
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=2

[mysql]
port = 55624
user = mysql
socket = D:/www/var/mysql-5.6.24-winx64/tmp/mysql.sock
default-character-set = utf8

[mysql.server]
port = 55624
user = mysql
basedir = D:/www/mysql/mysql-5.6.24-winx64
datadir = D:/www/var/mysql-5.6.24-winx64/data
tmpdir = D:/www/var/mysql-5.6.24-winx64/tmp
socket = D:/www/var/mysql-5.6.24-winx64/tmp/mysql.sock
pid-file = D:/www/var/mysql-5.6.24-winx64/logs/mysqld.pid
log-error = D:/www/var/mysql-5.6.24-winx64/logs/mysqld
default-character-set = utf8

[mysqld_safe]
port = 55624
user = mysql
basedir = D:/www/mysql/mysql-5.6.24-winx64
datadir = D:/www/var/mysql-5.6.24-winx64/data
tmpdir = D:/www/var/mysql-5.6.24-winx64/tmp
socket = D:/www/var/mysql-5.6.24-winx64/tmp/mysql.sock
pid-file = D:/www/var/mysql-5.6.24-winx64/logs/mysqld.pid
log-error = D:/www/var/mysql-5.6.24-winx64/logs/mysqld
default-character-set = utf8

[client]
port = 55624
user = mysql
socket = D:/www/var/mysql-5.6.24-winx64/tmp/mysql.sock

下図のようになります。

ポート番号

ポート番号は 55624 にしましたが好みの番号でOKです。
my.ini の port=55624 のところ。

プライベートポート番号は、49152 ~ 65535 で自由に利用できるポート番号として割り当てられています。

ここでは、MySQLのバージョン 5.6.24 の「5624」
先頭に 5 をつけて 「55624」でプライベートポート番号の範囲にしました。

異なるバージョンのMySQLをインストールするときは同じようにバージョン番号の頭に 5 をつけていくようにします。

スクリプト作成

起動スクリプト

場所はどこでも良いので好みですが、www の下に置きます。

ドライブレター:\www\mysql-5.6.24-winx64-start.bat
@ECHO OFF

SET BIN_TARGET=ドライブレター:/www/mysql/mysql-5.6.24-winx64/bin

ドライブレター:
cd %BIN_TARGET%
mysqld --standalone --console

2個所ある「ドライブレター:」は、状況に合わせて変えてください。

停止スクリプト

停止するスクリプトも作っておきます。

ドライブレター:\www\mysql-5.6.24-winx64-stop.bat
@ECHO OFF

SET BIN_TARGET=ドライブレター:/www/mysql/mysql-5.6.24-winx64/bin

ドライブレター:
cd %BIN_TARGET%
mysqladmin shutdown -u root -p

pause

2個所ある「ドライブレター:」は、状況に合わせて変えてください。

起動と停止

↑で作った「起動スクリプト」(mysql-5.6.24-winx64-start.bat)をダブルクリックすると起動します。

停止するには「停止スクリプト」(mysql-5.6.24-winx64-stop.bat)をダブルクリックします。停止するときにはパスワードを求められるので、MySQLのパスワードを入れます。

ただ、停止することは基本的に無いと思います。
Windows自体をシャットダウンもしくは再起動したらMySQLは停止しますので、Windowsは継続使用してMySQLだけ停止させる、という場面はあまり無いんじゃないでしょうか。

初期設定

まず「起動スクリプト」をダブルクリックして、MySQLを起動させておきます。

次にコマンドプロンプトを起動します。
「winキー + rキー」を押して「ファイル名を指定して実行」のウィンドウを出し、「cmd」と入力し、「Enterキー」

MySQLの「bin」フォルダに移動します。

ドライブレター:
cd ドライブレター:\www\mysql\mysql-5.6.24-winx64\bin

ドライブレターはMySQLをインストールしたドライブです。
Dドライブにあれば、「d」(ディ)

次のようにして、rootでログインします。

mysql -u root -P 55624

ポート番号を変えている場合は調整してください

rootパスワードを設定済みの場合は次のように「-p」を付けます。 

mysql -u root -P 55624 -p

MySQLの中に入ったら、rootパスワードを変更します。
ついでに文字コードの確認もしておきます。

-- rootパスワードの設定
SET PASSWORD FOR root@localhost=PASSWORD('rootパスワード');

-- character_setの確認
show variables like 'character_set%';
+--------------------------+-----------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | ドライブレター:\www\mysql\mysql-5.6.24-winx64\share\charsets\ |
+--------------------------+-----------------------------------------+
8 rows in set (0.00 sec)

-- mysqlから抜ける
quit;

あとがき

ここまででインストールは完了です。

webサーバの設定が済んでいるなら、phpMyAdminからアクセスできるようになっています。
このあたりについてはまた別の記事とします。