mysql

split the output of mysqldump --all-databases

TWIMC BEGIN { file = "header" } /^-- Current Database: / { match($0, /`[^`]+`/) close(file ".sql") file = substr($0, RSTART+1, RLENGTH-2) } { print > file ".sql" }

Re: The MySQL 5.7 Optimizer Challenge

This is just a translation of my former, explanation-less post in this Apr. It still reproduces with 5.7.7-rc. Straightforwardly I should report a bug, but I find this: http://www.tocker.ca/2015/07/15/the-mysql-5-7-optimizer-challenge.html…

論理削除とオプティマイザ (のつもりだったけどただのメモ)

タイトルまで書いたけど面倒になったんでやめた。 % seq 1000000 > aho.outmysql> create table aho (id int, col1 int default null, col2 int default null, primary key (id), key (col1)); mysql> load data local infile '/home/ichii386/aho.out' into…

mysql-5.6.11 で secure-auth が厳しくなった件

@yoku0825 さんが http://yoku0825.blogspot.jp/2013/05/mysql56mysql50ioerror-2049.html に書かれている通り mysql-5.6.11 で secure-auth が厳しくなった (Bug#15977433 だが非公開?) slave io thread とか federated が secure-auth=off でもそれを参照…

0時ちょうどに MySQL の snapshot をとりたい (注: MyISAM 限定)

今日書いてたスクリプトの結果待ちで、ひさしぶりにメモ。 やりたいこと 毎日0時ちょうどに mysql のデータの snapshot を取りたい snapshot はバックアップのためではなく、アクセスできる状態のものにしたい 環境 MySQL-5.6.10 サービスで使っている maste…

InnoDB Deep Talk #1 をやりました

先日の 3/10 に無事 InnoDB Deep Talk #1 を開催出来ました。発表していただいた木下さん、平塚さん、瀬島さん、LT をしていただいた皆さま、そして参加者の皆さま、ありがとうございました!内容は公開できない内容も含まれるということで、申し訳ありませ…

InnoDB Deep Talk #1 をやります

久しぶりですが MySQL 系のイベントやります。軽いトークが流行っていたようなので、深いトークもやりたいなと思い開催することにしました。 http://atnd.org/events/25836 豪華講師陣は以下の皆様です: 木下さん http://buildup-db.blogspot.com/ 平塚さん …

mysqlbinlog なんてやめて show binlog events を使おう

夜中に眠いのに master のディスク容量がいっぱいで、でも binlog 用のスペースがない slave たちはまだ明日起きてから対応するんでも間に合うとき。よくありますよね。 ほっといてエラーになるよりかはその場しのげる方がマシ 多少サービス止めるなり i/o …

thread id の件

とりあえずここまでできた (ちょっと飽きてきた) メモ。THD->thread_id は書いたら書きっぱなしだし、 pthread_self() が一緒に呼ばれるタイミングがうまく見つかれば行けそうだけど、 mysqld_list_processes() でもダメなんだよね。 #!/usr/sbin/dtrace -s …

InnoDB の圧縮を使うときの運用

.@nippondanji さんにブログにまとめろと言われた気がするのだけど、あんま大したネタではないです。しかも、この作業は失敗する可能性を見越していたのであまり作業ログを取ってなかった...。ので、ちょっと疑問に思った点を幾つか書いておこうかと思います…

groonga 試してみた、のその後

ちょっと感想をメモ。 試してみた状況 すでに動いている master (fulltext key なし) に、どでかいテーブル 1 つを ENGINE=gronnga にした slave をいれた カラムは id INT NOT NULL auto_increment, foo text, PRIMARY KEY (id), FULLTEXT KEY (foo) みたい…

ちょっと試してみたメモ

build libtool, libssl-dev, pkg-config, autoconf, automake とか入れとこう。要らないかも知んないけど。 mysql-5.1.53-log /usr/local/mysql にバイナリを展開 master が 5.1 で、 slave のみ fulltext index という都合で 5.1 ソースは http://files.dir…

なつかしの not exists なクエリ

ひさしぶりに MySQL のクエリチューニングの話。すごい昔に「explain したら not exists って出てきたけどこれ何よ?」というエントリを書いたんですが、あいかわらずなことやってんな、と思った日常の一風景です。ちなみに今夜の MySQL は Server version: 5…

mysql / mysqldump と XSLT

mysql / mysqldump には --xml というオプションがありますが、みんな使ってますか?dump もしくは sql を実行して、結果を直接ブラウザやエクセルに貼付けるようなとき、たとえばデータにタブや改行が入ってたりして、クエリの最後に \G つけてもつけなくて…

MySQLハッキング

とうとう松信さんの登場です!! 「MySQLハッキングの手引き」 日本MySQLユーザー会 松信 嘉範 (MATSUNOBU Yoshinori) MySQLはオープンソースなので、必要に応じてMySQLのソースコードを改変して、 自分好みの機能を追加することができます。 またストレージエ…

ROR

sql/opt_range.cc のいろんなところに出てくる "ROR" は Ruby On Rails の略ではありません。 00453 /* 00454 Rowid-Ordered Retrieval (ROR) index intersection quick select. 00455 This quick select produces intersection of row sequences returned 0…

第2回 197X オフパーティーでDTraceについて話しました

LT申し込んだはいいけどぜんぜん準備してなくて、比較的すぐに書ける内容ってことでDTraceの話をしてきました。LT中にも言ったんだけど、ほんとはplan9上のinfernoでlimboプログラミングとかやってみたかったけどまだムリポ。あと当日いろいろ不手際でごめん…

ZFS?

twitterでみんな話題にしてるから気になった。全然一次情報源は追ってないんだけど、 "native storage-engine specific driver" (何のこと?) http://d.hatena.ne.jp/naoya/20080418/1208520196 もしかしてZFS前提なストレージエンジン作るってことなのかな??…

春のMySQL祭り2008 (+夜の部) に行ってきた (2008/04/09)

おしゃれな恵比寿のウェスティン東京ですよ。デブサミの雅叙園もすごかったけど、エントランスの圧倒感はこっちのほうが上でした。まわりの雰囲気もきれいでいいですねぇ。こういうところに住んでみたい。あまり内容を見ないで申し込んでいたんですが、おも…

mysql-5.1の開発コードを拾ってくる

ほんとは書きたいことがたくさんあるんだけど、長くなりそうでなかなか書けないや…。バグ報告したけど「開発コードでは直ってるよ」と言われたときに、MySQLのサイトのダウンロードセクションみてもリリースされたやつ(例えば今ならMySQL-5.1.22)のソースし…

dependent subquery と left join

今日はもう一つ。以前書いた日記 "Not Exists" なクエリの最適化 のブックマークコメントで、id:bull2さんから「subquery 使った方がいいんじゃないか」という意見をいただいてました。もともと MySQL 4.0 ばっかり使っていたので、あのエントリを書いた時点…

PARTITION使ってみた

先日「MRG_MyISAM使ってる人なんていねーよPARTITIONつかえ、PARTITION」というお告げをもらったので、ちょっとだけpartition使ってみることにしました。といってもMySQLを5.1にするところから始めないといけないので、いろいろ面倒なこともありつつ。ただ、…

"Not Exists" なクエリの最適化

某所でのネタだったんですが、少し追加情報があったのでここに書いてみます。以下、mysql4.1での話。それ以外では、確認してないどころかどうなのか想像すらつきません(postgresとかほとんど触ったことない)。 なぞなぞ 次のようなテーブルがあるとします。 …

c++からmysql_query

libmysqlclient-devを使ってみるテスト。 http://dev.mysql.com/doc/refman/5.0/en/c-api-functions.html に書いてあるサンプルをつぎはぎしただけでそれなりに動きました。php でいう PEAR_DB みたいな DB の抽象化クラスって c++ にはないのかな。 php み…