自分メモです。僕は、前職と家ではlinux mintで開発していたのですが、会社ではwindows(32bit)とmacが配られました。
windows機はメモリが足らず、仮想環境が入らない。
appleとは反りが合わない。
仕方なくwindows使っていたのですが、インストーラからインストールしたmysqlがmy.iniを読み込まず、苦戦したのでzipでインストールし直しました。という話です。
(クエリーログが見たかっただけなのですが。。。)
また、会社のコンフルに書いていたメモ的なのを、qiitaに書いていくことにしたので、最初の投稿です。(コンフルってマークダウン使えないので、書く気が無くなるんですよね。。。)
参考資料
WindowsにzipファイルのMySQLをインストールする方法
ほぼこれじゃねぇか!!というツッコミもあるかと思います。はい。
手順
- ここから落とす(32bitとか気をつけて。)
- 解凍してフォルダ名をmysqlという名前にして、C直下に置く
- お好みでパスを通しても良いが、この手順は全部フルパスでやる
- c:/mysql直下にdataとlogsとtempのディレクトリを作成
- c:/mysql直下にあるmy-default.iniをコピーして、my.iniを作成
iniファイルに追記
[mysqld]
# dirs
basedir="C:/mysql"
datadir="C:/mysql/data"
tmpdir = "C:/mysql/temp"
# logging
log_output=TABLE,FILE
log_error_verbosity=3
log_error="C:/mysql/logs/mysqld_error.log"
general_log=1
general_log_file="C:/mysql/logs/general_query_all.log"
log-slow-admin-statements=1
log-queries-not-using-indexes=1
slow_query_log=1
long_query_time=1
slow_query_log_file="C:/mysql/logs/slow_query.log"
log_syslog=0
log_timestamps=SYSTEM
[mysql]
default_character_set=utf8
default-time-zone="+9:00"
本当はdataフォルダは別のディレクトリで作成して、mysqlのバージョンが変わっても、同じDBを見れる的なのをやると良いらしいですが、面倒なので入れたところに作りました。あと、このiniの設定で、ログをtableとファイルに書き込む設定を入れているのですが、ログファイルには出るけど、なぜかtableには、書き込まれないのですよね。
初期化&起動&ログイン
rem path設定はこの手順では必要ないですが、やるとしたらこんな感じです。
rem SET PATH=%PATH%;C:\mysql\bin
rem 初期化(失敗してやり直すときは、dataフォルダを消したほうがよい。)
C:\mysql\bin\mysqld --initialize-insecure --user=mysql
rem 起動
C:\mysql\bin\mysqld --defaults-file="C:\mysql\my.ini" --console
rem 中に入る。(パスワードは無し。後で、設定したほうが良いかと)
c:\mysql\bin\mysql -u root -p
rem シャットダウン
Ctrl + C
sql_mode
ルーク!MySQLではkamipo TRADITIONALを使え!
という話なので、設定しておいたほうが良いかと。
本当はSET SESSIONで設定するのが良いらしいですが。。。
windows立ち上げ時に起動させる
- batファイルを作っておいて、ダブルクリックとかどうですか?
- batファイルをスタートアップに置いておく(セキュリティとか言われる?)
- windowsのサービスに登録(面倒ですよね。。。)
まとめ
システム系は、下手にオートマチックにすると痛い目みること多いなぁという事例だったと思います。あと、設定を色々と端折っているので、しっかりと動かしたい方はDBエンジニアと相談してくださいm(_ _)m
あ、あと、mysqlのGUIツールは、下記が使いやすいです。勧めてみました。HeidiSQL(mysqlなどのGUIツール)