1. インストール
① C:\MySQL フォルダを作成
・XAMPP を使用する場合この処理は不要。
② ファイルのダウンロード、インストール
・ZIP版の場合
http://www-jp.mysql.com/downloads/
=> 『Download MySQL Community Server』(http://www-jp.mysql.com/downloads/mysql/)
=> 『Windows(x86, 64bit),ZIP Archive』 を選択
=> Sign in の画面になるが、無視して下の方にある「No thanks, just start my download.」をクリック
=> ダウンロード
=> 展開
作成されたフォルダ『mysql-5.6.10-winx64』を、C:\MySQL フォルダへ移動
http://www.slideshare.net/h141/windowsmysql-14841563 に拠ると、ZIPアーカイブ版は
・インストールは展開してフォルダを置くのみなので超簡単
・データフォルダが作成済み
・mysql_install_dbでの初期化不要
・レジストリ汚さない
・サービスを作らない
・起動、停止も簡単
・複数サーバの起動もできる (MSI版でできないかは不明
・アンインストールも、サーバを停止してフォルダを消すだけ)
のメリットがあるので、テスト用や、複数のサーバを立てる場合などに便利。とのこと
閑話休題 終わり
・MSI版の場合
http://www-jp.mysql.com/downloads/ へ移動。
mysql-installer-community-5.6.10.1.msi をクリック。ダウンロード
ダウンロードファイルを起動
Install MySQL Product を選択
Choosing a Setup Type 画面で
Developer Default を選択(Server Product に加え、管理ツールなど便利な機能が使用できる)
installation Path:
Data Path:
を適切に設定。サーバを複数インストールしない場合は、デフォルトでOK
Configuration 画面で
Enable TCP/IP Networking
Port 3306
Open Firewall port for network access=> チェックを外すとインストールエラーとなる。なぜ???
Root Account Password で、root のパスワードを設定
Windows service Details
・XAMPPの場合
XAMPPをダウンロードし、C:\XAMPPフォルダに展開する
2. 設定ファイルの設定
・設定ファイルの場所
ZIP版
インストール先の、ベースフォルダ内の「my.ini」ファイル。上記の場合、C:\MySQL\mysql-5.6.10-winx64\my.ini (XAMPPの場合、???)
まだ存在しないので、my-default.ini を my.ini に複写して適切に変更。# はコメント
まず行うデフォルトからの修正点は、以下の通り。
basedir = c:/MySQL/mysql-5.6.10-winx64
datadir = c:/MySQL/mysql-5.6.10-winx64/data
port = 3306
MSI版
サービスが下記で起動している。ので、「"C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"」の様だ。
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56
他にも多々あり。これから追記 *****
・設定ファイルの注意点
1. 設定項目(ディレクティブ)の単語の区切りの -(ハイフン)と _(アンダースコア)は等価
log-bin と log_bin は同じこと
2. 設定項目名は、大文字小文字を区別する
3. サーバ起動
C:\MySQL\mysql-5.6.10-winx64\bin\mysqld.exe --console
エラー時(11)エラー 参照
・XAMPPの場合
C:\xampp\xampp-control.exe を起動し、GUI画面から起動する
4. クライアント起動
C:\MySQL\mysql-5.6.10-winx64\bin\mysql.exe -u root(デフォルトでは root にパスワードは無い)
5. root ユーザのパスワードの設定
(4. クライアント起動)でログインし、下記コマンドを実行
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');# new_password をパスワードにする
これで、mysql.exe -u root -pnew_password でログインできる
6. サービスへの登録
① MySQLが実行されていれば停止する
管理者権限で、
c:\mysql\mysql-5.6.10-winx64\bin\mysqladmin -u root shutdownを実行
MySQLが実行されていなければエラーとなる。
② サービスとして登録
②-1 失敗
sc create "MySQL 5.6" binPath= "c:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe" (sc create 『サービス名』 binPath= "実行ファイルパス")
(binPath= の後ろに半角スペースを入れること)
『[SC] CreateService SUCCESS』と表示されればOK
=> サービスは登録されるが、起動できない。
②-2 成功?
C:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe --install "MySQL 5.6" --defaults-file="C:\mysql\mysql-5.6.10-winx64\my.ini"
6-1. サービスの削除
sc delete 『サービス名』(『必ず』管理者権限で、コマンドラインプロンプトを起動すること)
エラーの場合
[SC] DeleteService FAILED 1072:
指定されたサービスは削除の対象としてマークされています。
=> サービスの削除はできているが、再起動が必要 (by Miscrosoft FQA)
7. ログ設定
・XAMPPの場合
- エラーログ (デフォルトで設定済み)
「datadir」パス/mysql_error.log (パスは、『my.ini』ファイルの[mysqld] =>「datadir」ディレクティブ参照(デフォルト "/xampp/mysql/data")
- クエリログ
デフォルトでは出力しない。下記の要領でmy.iniの[mysqld]項目に追加
# /13/04/08 追加 クエリログ (デフォルトでは「datadir」/配下に出力される)。絶対パスの場合 \ ではなく / を使用する
log = c:/temp/myquery.log
# /13/04/08 追加 スロークエリログ
slow_query_log = ON
slow_query_log_file = mysql-slow.log
#SQL実行時間が指定された秒数を超えた場合にスローログに書き込む時間。下記の場合 0.1秒
long_query_time = 0.1
#インデックスが使われていないSQLをスローログに書き込む
log-queries-not-using-indexes
# スロークエリログ関連ここまで
『my.ini』ファイルの[mysqld]に、「log=myquery.log」を追加。出力パスは「datadir」
- スロークエリログ
・ZIPの場合
- エラーログ
デフォルトでは出力しない。my.iniファイルの、[mysqld] に、「log_error = "mysql_error.log"」を記載。出力パスは、XAMPPと同様
- クエリログ
デフォルトでは出力しない。『my.ini』ファイルの[mysqld]に、「log=myquery.log」を追加。出力パスは「datadir」
8. 欠番 (すいません番号ふり間違えた)
9. 欠番
10. アンインストール
MSI版の場合
geek 等のツールを使い、レジストリなどの痕跡も削除する。
サービスも自動的に削除される
ZIP版の場合
フォルダをまとめて削除。上記の場合『MySQL』
*** アンインストールしてもサービスが残ってしまった場合には、当該サービスを停止し、以下のコマンドを実行
(1) 『サービス』が消えない場合
sc.exe delete "サービス名"
error 1702 が発生する場合には、
http://stackoverflow.com/questions/305037/sc-deleteservice-failed-1072 を参照
regedt32 を使用して、HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/ 配下のMySQL関連のフォルダを削除
[SC] OpenService FAILED 5:
アクセスが拒否されました。の場合
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 配下の MySQL関連のサービス削除
その他 アンインストールに苦労した (http://d.hatena.ne.jp/yasuhallabo/20111106/1320562901) によると
1)アプリのアンインストール
[コントロールパネル]→[プログラムと機能]→MySQLと名の付くものを全て削除
2)All UsersのMySQLを削除
C:\Users\All Users\MySQLが残っていたら削除する。この中にmy.iniが入っていることもある。
C:\Windows\PrefetchにあるMYSQLと名の付くファイルを全て削除。
・[コントロールパネル]→[管理ツール]→[サービス]→[MySQL]を右クリック→プロパティ→Pathを確認
【参考】やすはるラボ削除時のパス(既に存在しないファイルを参照していたので問題なし)
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini" MySQL
・[コマンドプロンプト]を「管理者権限で実行」←★★★重要!!!→「sc delete MySQL」とコマンド入力。
成功すると”[SC] DeleteService SUCCESS”
※管理者権限で実行しないと”[SC] OpenService FAILED 5”と表示され、削除に失敗します。
これでなんとかアンインストールできました!
とのこと。
いずれにせよ、再起動は必要。
(2) ソフトウェアの残骸を削除
C:\Program Files (or Program Files(x86))\MySQL をフォルダごと削除(管理者権限要)
(3) データの残骸を削除
C:\ProgramData\MySQL をフォルダごと削除(管理者権限要)
* (2),(3)でフォルダが見えない場合には、以下で表示可
「コンピューター」→「ドライブ」選択→「整理」→「フォルダーと検索のオプション」→「表示」タブ→「隠しファイル、隠しフォルダー、または隠しドライブを表示する」をチェック
11. エラー対応
error: 1
2013-03-27 18:17:41 6900 [ERROR] InnoDB: read can't be opened in .\ibdata1 mode
上記の場合、MySQLが正常にシャットダウンされていない可能性があるので、以下の要領で強制シャットダウンする。
① pid (プロセス ID) を検索
datadir内の、「OWNER-PC.pid」ファイルに記載されている。例 6535
② 強制シャットダウン
> taskkill /PID 6535 /F
2013-03-27 18:17:41 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-03-27 18:17:41 6900 [Note] Plugin 'FEDERATED' is disabled.
2013-03-27 18:17:41 6900 [Note] InnoDB: The InnoDB memory heap is disabled
2013-03-27 18:17:41 6900 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-03-27 18:17:41 6900 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-03-27 18:17:41 6900 [Note] InnoDB: CPU does not support crc32 instructions
2013-03-27 18:17:41 6900 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-03-27 18:17:41 6900 [Note] InnoDB: Completed initialization of buffer pool
2013-03-27 18:17:41 6900 [ERROR] InnoDB: read can't be opened in .\ibdata1 mode
2013-03-27 18:17:41 6900 [ERROR] InnoDB: The system tablespace must be writable!
2013-03-27 18:17:41 6900 [ERROR] Plugin 'InnoDB' init function returned error.
2013-03-27 18:17:41 6900 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2013-03-27 18:17:41 6900 [ERROR] Unknown/unsupported storage engine: InnoDB
2013-03-27 18:17:41 6900 [ERROR] Aborting
2013-03-27 18:17:41 6900 [Note] Binlog end
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'partition'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INSERTED'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_METRICS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMPMEM'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_LOCKS'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_TRX'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'BLACKHOLE'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'ARCHIVE'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MRG_MYISAM'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MyISAM'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MEMORY'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'CSV'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'sha256_password'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'mysql_old_password'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'mysql_native_password'
2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'binlog'
2013-03-27 18:17:41 6900 [Note] c:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe: Shutdown complete
error 2
エラーメッセージは以下
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
my.ini の設定を変更した場合には、\xampp\mysql\data\ib_logfile~ ファイルを削除して起動する
12. セキュリティ
①フォルダに対するアクセス権
上記の設定でインストールした場合、デフォルトで Authenticated Users, Users に、「変更」「読み取りと実行」「フォルダーの内容の一覧表示」「読み取り」「書き込み」が許可される。(users は「変更」「書き込み」が許可されない)
したがって、デフォルトの設定で、サーバ、クライアントの実行が各ユーザが可能となる。
なお、Authenticated Users と Users の違いについては、(From Microsoft QA)
結局 Users と Authenticated Users の違いとしては、
‐ Guest など、Users のメンバーのうち、Authenticated Users には含まれないものがある。Windows のバージョンによって多少の違いがあるかも。
‐ Users は、ビルトイングループなので≪その気になれば≫管理者がメンバーを自由に変更できる。
そのほか AD の場合に違いがあるという事ですが、通常は、あまり区別する必要はないようですね。