MySQL

MySQL5.6のSQLモード

ついに出ましたね、MySQL5.6!my.cnfの位置が/usr/my.cnfに変わったとか標準動作がinnodb_per_tableになったとか色々ありますが、とりあえずデフォルトのmy.cnf内にsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESという記述があって、詳細はこちらを…

MySQL-MHAを試してみたよ。

新しく購入したDELLのサーバがネットワークエラーで不通になっちゃう事象が半年に1回くらい起きてて、それが運悪くマスタDBだったので、そろそろ本気で対策をしないといけないかしらんと思ってMySQL-MHAについて調べてみました。MySQL-MHAについてはpublic …

テーブルの内容をテキストに書き出す方法

MySQLでテーブルのデータをテキストにエクスポートする場合、ターミナルからコマンドラインでやる方法とCUIから出力するのと2種類方法があります。ターミナルからやる# echo "select * from fuga" | mysql hogehoge > abc.csvMySQL CUIからやるselect * fro…

MySQLでrootなのにgrantコマンドが実行できない場合の対処法

rootでログインしてユーザーを増やそうと思ったらmysql> grant all on *.* to "myuser"@"192.168.0.0/255.255.255.0"; ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)と怒られた。調べてみたら色々対処法があるみたい…

MySQLでDate関数同士を比較するときの注意

MySQLには日付の計算を行う関数がいくつかあって、例えば当日は mysql> SELECT NOW(); ---------------------+ NOW() ---------------------+ 2012-04-23 16:26:11 ---------------------+ 1 row in set (0.00 sec)前日はmysql> SELECT NOW() - interval 1 d…

MySQLのEVENT SCHEDULERを毎日定時実行する方法

備忘録的に。delimiter $$ DROP EVENT IF EXISTS hogehoge $$ CREATE EVENT hogehoge ON SCHEDULE EVERY 1 DAY STARTS '2012-04-18 03:00:00' DO BEGIN この中に実行するSQLを記述 END$$ delimiter ;ON SCHEDULE EVERY 1 DAY STARTS '2012-04-18 03:00:00'で…

しょうもないMySQLエラーで手間取った件

都内への電力供給も安定化し、TDLも営業を再開したので、久々に自宅サーバを立ち上げました。OS起動させたらどうもMySQLが動いてないっぽいので、手動で実行したら下のエラーが。Starting MySQL. ERROR! Manager of pid-file quit without updating file.直…

MySQLでバッチ処理を回すときはちゃんとflush tablesしましょうという話ですよ。。。

知ってる人には常識かも知れないですが、夜間バッチでまとめてDB処理なんかをする際、数時間プログラムを回しっぱなしにするケースは多いと思います。自分の担当してるサービスでも毎日深夜に数時間回し続けるバッチがあり、毎日深夜になると定期的にロード…

MySQL5.1 Barracudaオプションを試す【MySQL】

レプリケーションによるバージョンアップがちゃんと動くことが確認できたので、今回はMySQL5.1の新機能であるBarracudaによるデータベース圧縮を試すことにする。 リリース直前に5.5がGAになったのだが、今更導入は間に合わない。よって今回の業務ではMySQL5…

これからレプリケーションでバージョンアップの話をしよう【MySQL】

業務でデータセンターのお引っ越しと、そのタイミングでサービスの大幅な刷新をすることになった。 それまでの環境はWEB/DB一体型サーバ(+スレーブ)にMySQL4.1、全テーブルMyISAMというヘレンケラーよろしく三重苦を背負いながら色々ありつつ3年の間頑張…