mysql

クライアントにはdefault-character-setを指定したいけどmysqlbinlogには怒られたくない

my.cnfには[group]というオプショングループが書けて、グループ毎に設定ができます。オプショングループには特殊な[client]というのがあります。 [client]オプショングループは、すべてのクライアントプログラム(mysqldは除く)によって解読されます。これに…

MySQL 5.1→5.6のmy.cnfの差分とか

MySQL 5.1で使ってたmy.cnfを試しに5.6で動くようにしたときの差分す。網羅的には調べてないんで他にも廃止になったパラメータはあるかもです。あくまで参考までに。 # log-binにパラメータ指定しないと怒られます -log-bin +log-bin = mysqld-bin # old-pas…

複合インデックスで範囲検索が遅いとき

DDLとデータは末尾に示しますが、複合インデックスが効くはずのクエリなんだけどナめてる行数が多くて困ったというお話です。(MySQL 5.1.55) このクエリで返ってくる行数は246件なんですが、それにしてはナめてる行数(rows)がやたら多いです。where句で使っ…

LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意

構成 [appサーバ] -> [lvs] -> [MySQL]群 DRでMySQLのスレーブ群にロードバランス appサーバはDBコネクションのプーリング、永続化をしている 問題の現象 DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(n…

async, semi-sync混在のレプリケーション [要検証]

以下、ウラトリしてないので[要検証]です。これまたhbstudy#13で[twitter:@nippondanji]さんのセッションを聞いてて思いついたこと。複数台スレーブがいると、マスタがダウンした場合にどのスレーブをマスタに昇格させるべきか調べるのがめんどいです。非同…

BLACKHOLEストレージエンジンを使ってInnoDBなテーブルの暖気運転をする

どうもこんにちは。小太り男子中年のサーバーエンジニアです。先日行われたhbstudy#13の [twitter:@nippondanji]さんのセッション(スライド) で、「BLACKHOLEストレージエンジンを使えば、InnoDBなテーブルの暖気運転(テーブルデータを空読みして、buffer po…

MySQLのスロークエリログを別サーバに転送する

複数台あるMySQLのスロークエリログを、いちいちDBサーバにログインして読むのがめんどうくさい log_output = FILE,TABLE としてテーブルに入れてリモートからSELECTできるようにするのは? → テーブルに入れた場合、query timeとlock timeの型がTIME型にな…

実録MySQLのチューニング 春の陣

long_query_time = 0.5 とか閾値を小さめにしてもスロークエリが出なくなったけど、CPU(user)使用率高いとか、なんか足引っ張ってるクエリがあるっぽいなぁという場合のお話です。「実録」の通り、現在絶賛進行中ですので、逐次動きがあったら書き足していく…

MySQLで、指定したときだけクエリキャッシュする

今までMySQLのクエリキャッシュはは有効にしてたんですが、Webサービスだとキャッシュヒットするようなクエリはそんなに多くないし、どこかで見かけたんですが(失念…)クエリキャッシュをオフにしたら(逆に)パフォーマンスが上がっただか負荷が下がっただかと…

メモ: InnoDB Pluginのバグ

自分も含め、InnoDB Pluginの使用を検討してる人も多いのではないかと思うのですが、ちと気になるバグを見かけたので追試してみました。 Bug #47621 MySQL and InnoDB data dictionaries will become out of sync when renaming columns http://bugs.mysql.c…

実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ)

レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスク…

あるあるおハマり大事典 - InnoDBなのに行ロックしないの

drop table if exists t; create table t ( iid int ,nid int ,bid binary(3) ,msg varchar(69) ,key (iid) ,key (bid) ) ENGINE=InnoDB; insert into t values (1,1,1,"ichi"),(2,2,2,"ni"),(3,3,3,"san") ,(4,4,4,"si"),(5,5,5,"go"),(6,6,6,"roku") ; な…

レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン

MySQLで、レプリケーションベースのHAな構成について考えたメモです。3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書き…

mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決

MySQLでいちいちshow tables;とか打つのがだるい。\tみたいなalias設定できないのかなぁ http://twitter.com/weboo/status/1658300902 おぉ、readlineのマクロを使えばいいのかー http://twitter.com/weboo/status/1658314333 なるほ!ってことでちょっと設…

mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法

追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQL…

MySQL + DRBDってヤバい気がするんだけどどうなんざんしょ?

MySQL ABのリファレンスマニュアルに、 MySQL AB :: MySQL 5.0 Reference Manual :: 14 High Availability, Scalability, and DRBD なんてセクションができてたのに今さっき気がついた。(結構前からあった?)よく読んでない(すんまそん)んすけど、万が一、…

レプリケーションの遅延秒数を知る方法

MySQL 4.1.1以降なら、SHOW SLAVE STATUSでSeconds_Behind_Masterというのが見られるそうで、これが遅延秒数の指標として使えるっぽい。 Seconds_Behind_MasterThis field is an indication of how “late” the slave is: When the slave SQL thread is activ…

GET_LOCK

という関数があるのを知った。 http://dev.mysql.com/doc/refman/4.1/ja/miscellaneous-functions.html http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_get-lock すでにそこに動いているmysqldがあるのなら、これ使って複数…

WEB+DB PRESS Vol.37 に寄稿しました(特集と連載)

WEB+DB PRESS Vol.37作者: WEB+DB PRESS 編集部出版社/メーカー: 技術評論社発売日: 2007/02/23メディア: 大型本購入: 2人 クリック: 15回この商品を含むブログ (38件) を見る見本誌届きました。今回の連載『MySQL5 開拓団』は日本語処理について。しょっぱ…

MySQL 5 の場合はmytopよりinnotopのほうがいいかも

MySQLのモニタするのに便利なmytopなんですが、MySQL 5に対して使うと、クエリの割合表示が全部ゼロになってしまったります。これは、MySQL 5.0.2でSHOW STATUS文が変更され、GLOBALかSESSIONというオプションを指定できるようになったことに起因します。こ…

InnoDB vs MyISAM (vs Falcon) を読んで興味深いと思った点

InnoDB vs MyISAM vs Falcon benchmarks - part 1 を読んだ。興味深かった。だけだとナンなので、思ったことをメモってみる。 がんばれFalcon まだ生まれたてなのでベンチマークの結果は参考程度に。 InnoDB vs MyISAM The second goal of benchmark was a p…

5分でできる、MySQLのメモリ関係のチューニング!

5分でできる、MySQLのメモリ関係のチューニング! 5分は短すぎたかもw

MySQL開拓団 ストレージエンジンの吟味(2) の過去記事公開

ちと間が空きましたがWEB+DB PRESS Vol.34に寄稿した記事を公開しました。 MySQL5開拓団 - ストレージエンジンの吟味 (2) InnoDBのXA対応×binlog×性能あたりの話はMySQL 5.0では結構、キモいんではなないかと思います。 開拓の前に 古参ストレージエンジンの…

mMeasure

mMeasureは、MySQLの状態を常時測定し、MySQLのチューニングポイントをアドバイスする、MySQL専用モニタリングソフトです。 MySQLの主要なサーバー変数やステータスは、時/日/週/月/年の単位でビジュアルにグラフ化され、ブラウザで参照することができま…

MySQLをインストールしたらまずチューニングするパラメータ

MySQL Performance Blog » What to tune in MySQL Server after installation とりあえずパラメータを抜き出してみる。詳細はオリジナルのエントリを参照してくださいませm(_ _)m key_buffer_size innodb_buffer_pool_size innodb_additional_pool_size inno…

MySQLでマトモに日本語対応の正規表現が使えるmregexp

手前ミッソーですが、mregexp-1.0をリリースしました。 mregexp - MySQLで日本語の正規表現を扱う ネイティブのREGEXPに不満をお持ちの方は是非、試していただきたく!

ムック『超・極める!MySQL』に寄稿しました

超・極める!MySQL作者: 坂井恵,志村和彦,ひろせまさあき,松信嘉範出版社/メーカー: 翔泳社発売日: 2006/10/04メディア: 大型本購入: 2人 クリック: 24回この商品を含むブログ (15件) を見るもうすぐ(10/4)発売されるこのムックに何本か記事を書きました。目…

MySQL Performance Blog » Slow Query Log analyzes tools

スロークエリログをマイクロ秒で記録するパッチ slow query log filter slow query log parser など。スロークエリログ重要。

DBサーバのストレージをDRBDで冗長化するのは是か非か

LinuxにはDRBDというものがあります。DRBDとは何か? 簡単にいうと、ミラーリングです。ミラーといっても、RAID-1のようにディスクtoディスクではなく、2つの異なるサーバ間のネットワーク越しのミラーリングです。RAIDの場合は、ディスク故障の耐性は高ま…

WEB+DB PRESS MySQL開拓団の過去記事公開

Vol.34が出たので、Vol.33の記事、 MySQL5開拓団 - ストレージエンジンの吟味 (1) を公開しましたー Vol.34, 33共にご賞味ください。m(_ _)mWEB+DB PRESS Vol.34作者: WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2006/08/24メディア: 大型本 ク…