WindowsにMySQL(zip版)をインストールする

WindowsにMySQL(zip版)をインストールする

Posted at June 18,2013 1:11 AM
Tag:[MySQL, Windows]

WindowsにMySQL(zip版)をインストールする手順を紹介します。

MySQL

通常のインストール版であればインストール時に初期設定が行われるのですが、zip版では設定ファイルを手動で作成したり、起動オプション・パスワードの設定を行ったりと、結構手間がかかりました。

ということで備忘録で残しておきます。

1.MySQLのダウンロード

MySQLのダウンロードにはOracleサイトのアカウントが必要です。

MySQLのサイトで「MySQL Community Server」をクリック。

MySQLのサイト

「Other Downloads:」の32bit版または64bit版の「Download」をクリック。

(クリックで拡大)
MySQL Community Server

アカウントを持っている場合は「Login」をクリック。持っていない場合は「Sign Up」をクリックしてアカウントを登録します。

Download

「Login」の場合、ユーザーとパスワードを入力して、「サインイン」をクリック。

サインイン

「Download Now」をクリック。これでダウンロードが開始します。

ダウンロード開始

2.インストール

ダウンロードしたアーカイブを展開すると、「mysql-5.6.12-win32」というようなフォルダができるので、これを「mysql」にリネームして、Cドライブ直下など任意のフォルダに配置すればOKです。

3.設定

mysql配下のmy-default.iniをコピーして、同じフォルダにmy.iniを作成します。

その後、my.iniを下記のように修正します。ここではCドライブ直下にmysqlを配置したケースで記載しています。

変更前

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
 
[mysqld]
 
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
 
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
 
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
 
 
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

変更後

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
 
[client]
port   = 3306
socket = c:/mysql/mysql.sock
 
[mysqld]
port   = 3306
socket = c:/mysql/mysql.sock
 
[mysql]
default-character-set=utf8
 
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
 
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
 
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
 
 
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

4.MySQL起動

コマンドプロンプトでC:\mysql\binに移動し、mysqldを起動します。なお起動の際はオプション「--standalone --console」を付与します。

C:\>cd mysql\bin
C:\mysql\bin>mysqld --standalone --console

起動時は以下のように表示されます。「Warning」や「Note」はここでは無視します。

C:\mysql\bin>mysqld --standalone --console
2013-06-18 00:03:06 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more det
ails).
2013-06-18 00:03:06 11952 [Note] Plugin 'FEDERATED' is disabled.
2013-06-18 00:03:06 11952 [Note] InnoDB: The InnoDB memory heap is disabled
2013-06-18 00:03:06 11952 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-06-18 00:03:06 11952 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-06-18 00:03:06 11952 [Note] InnoDB: Not using CPU crc32 instructions
2013-06-18 00:03:06 11952 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-06-18 00:03:06 11952 [Note] InnoDB: Completed initialization of buffer pool
2013-06-18 00:03:06 11952 [Note] InnoDB: Highest supported file format is Barracuda.
2013-06-18 00:03:06 11952 [Note] InnoDB: 128 rollback segment(s) are active.
2013-06-18 00:03:06 11952 [Note] InnoDB: Waiting for purge to start
2013-06-18 00:03:06 11952 [Note] InnoDB: 5.6.12 started; log sequence number 1625987
2013-06-18 00:03:06 11952 [Note] Server hostname (bind-address): '*'; port: 3306
2013-06-18 00:03:06 11952 [Note] IPv6 is available.
2013-06-18 00:03:06 11952 [Note]   - '::' resolves to '::';
2013-06-18 00:03:06 11952 [Note] Server socket created on IP: '::'.
2013-06-18 00:03:06 11952 [Note] Event Scheduler: Loaded 0 events
2013-06-18 00:03:06 11952 [Note] mysqld: ready for connections.
Version: '5.6.12'  socket: ''  port: 3306  MySQL Community Server (GPL)

起動時に以下の警告が出るかもしれないので「ブロックを解除する」をクリックしてください。

(クリックで拡大)
ブロックを解除

5.mysqlを起動する

mysqldを上記のオプションで起動したあと、rootユーザー(パスワードなし)で起動することができます。

C:\mysql\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.12 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

これでSQLコマンドを実行することができます。SQL文の最後には必ずセミコロン「;」をいれてください。いれないと文が実行されません。

終了するときは「quit」を入力します。

なお、別のマシンではエラーになるケースもありました。

C:\mysql\bin>mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y
ES) 

6.rootにパスワードを設定する

5項に書いたとおり、インストール直後の状態ではrootにパスワードが設定されていません。

rootユーザーにパスワードを設定するには、一旦mysqldを起動しているコマンドプロンプトをCtrl-cで停止し、「--skip-grant-tables」オプションつきでmysqldを起動します。

C:\mysql\bin>mysqld --standalone --console --skip-grant-tables

この状態からrootユーザーでmysqlコマンドを実行します。

C:\mysql\bin>mysql -u root

次のSELECTでパスワードの設定を確認できます。四角の中(カラム)にパスワードがまだ設定されていないことが分かります。

>SELECT Password FROM mysql.user; 
+----------+
| Password |
+----------+
|          |
|          |
|          |
|          |
+----------+
4 rows in set (0.00 sec) 

パスワードを設定するには次のUPDATEを実行します。「パスワード」の部分に任意のパスワードを設定してください。

mysql> UPDATE mysql.user SET Password=PASSWORD('パスワード') WHERE User='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

さきほどのSELECTを実行するとパスワードが設定されていることが分かります。

mysql> SELECT Password FROM mysql.user;
+-------------------------------------------+
| Password                                  |
+-------------------------------------------+
| *F8A3E6CC98133893A414205BC092314623091DF0 |
| *F8A3E6CC98133893A414205BC092314623091DF0 |
| *F8A3E6CC98133893A414205BC092314623091DF0 |
|                                           |
+-------------------------------------------+
4 rows in set (0.00 sec) 

最後に「flush privileges」で権限の変更を反映させます。

mysql> flush privileges;
Query OK, 0 rows affected (0.23 sec)
mysql> quit 

mysqldを停止・再起動し、「--skip-grant-tables」オプションなしで起動します。

C:\mysql\bin>mysqld --standalone --console

これでmysqlをパスワードつきで実行すればOKです。

C:\mysql\bin>mysql -u root -p
Enter password: ***********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.11 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

以下のように「-p」オプションの直後にパスワードを入力しても起動できます。

C:\mysql\bin>C:\mysql\bin>mysql -u root -pパスワード

「-p」の直後に半角スペースをいれないよう気をつけましょう。

7.エラーになる場合

色々実験しているときにmysqldが起動しないエラーに遭遇したので、情報展開しておきます。

以下のエラーが出るときはmysqldのプロセスが残っているようです。[ERROR]が発生するとmysqldは起動できません。

[ERROR] InnoDB: read can't be opened in .\ibdata1 mode

起動時のメッセージは次のとおりです。

C:\mysql\bin>mysqld --standalone --console
2013-05-30 21:00:25 5664 [Note] Plugin 'FEDERATED' is disabled.
2013-05-30 21:00:25 5664 [Note] InnoDB: The InnoDB memory heap is disabled
2013-05-30 21:00:25 5664 [Note] InnoDB: Mutexes and rw_locks use Windows interlo
cked functions
2013-05-30 21:00:25 5664 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-05-30 21:00:25 5664 [Note] InnoDB: Not using CPU crc32 instructions
2013-05-30 21:00:25 5664 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-05-30 21:00:25 5664 [Note] InnoDB: Completed initialization of buffer pool
2013-05-30 21:00:25 5664 [ERROR] InnoDB: read can't be opened in .\ibdata1 mode
2013-05-30 21:00:25 5664 [ERROR] InnoDB: The system tablespace must be writable!
 
2013-05-30 21:00:25 5664 [ERROR] Plugin 'InnoDB' init function returned error.
2013-05-30 21:00:25 5664 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGIN
E failed.
2013-05-30 21:00:25 5664 [ERROR] Unknown/unsupported storage engine: InnoDB
2013-05-30 21:00:25 5664 [ERROR] Aborting

タスクマネージャを起動してmysqlのプロセスが残っていたら停止して、再度mysqldを起動すればOKになると思います。

8.参考サイト

参考サイトは以下です。ありがとうございました。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)