この記事は Perl Advent Calendar 2014 の4日目の記事です。
最近 MySQL Fabric という "MySQLにお手軽HA &
シャーディング、しかもプロキシ不要!" なんてことを謳っているミドルウェアで遊んでいるわけですが、このMySQL
Fabric、プロキシ不要な代わりに対応しているコネクターが必要になっています(ある意味、コネクターがプロキシ機能を持っている感じ)
さてこのMySQL Fabric対応コネクター、今のところの選択肢は
* Oracle公式
* GA版
* Connector/J
* …
昨日パケットキャプチャを取って調べてたときに気付いた
、mysql_select_dbが効かない件をぴゃーっと雑に調べてみた。
sql-common/client.cのmysql_select_dbを見ると、
4493 int STDCALL
4494 mysql_select_db(MYSQL *mysql, const char *db)
4495 {
4496 int error;
4497 DBUG_ENTER("mysql_select_db");
4498 DBUG_PRINT("enter",("db: '%s'",db));
4499 DISABLE_FOR_FABRIC(1);
4500
4501 if ((error=simple_command(mysql,COM_INIT_DB, (const uchar*)
db,
4502 (ulong) strlen(db),0)))
4503 DBUG_RETURN(error);
4504 my_free(mysql->db);
4505 mysql->db=my_strdup(key_memory_MYSQL,
4506 db,MYF(MY_WME));
4507 DBUG_RETURN(0);
4508 }
…
本エントリはFirebird Advent Calendar 2014の3日目です。(2日目はこちら)参加者募集中。
Betaのタグ付けがされてから、キャンペーンサイトでのみ配布されていたBeta 1が本家からリリースされました。
Firebird 3.0 Beta 1 release is available for
testing
Windows版とLinux版、それぞれ32-bit版と64-bit版があります。
まずはWindows 64-bit版を入れてみました。
…
この記事は MySQL Casual Advent Calendar 2014 の3日目の記事です。
クソクエリーについての名言
がつい先週生まれたばかりですが、みなさま如何お過ごしでしょうか。そういえば今年は Kuso-query As A Code みたいな話もさせてもらいました。
過去、現在、未来、全宇宙に存在する全てのクソクエリーを、生まれる前に自分の手でカジュアルに消し去るため(仮)に、MySQL 5.7.5-labsのQuery Rewrite Plugin …
tcpdump&Wiresharkでさくっと。
お手製MySQL Fabric対応mysqlコマンドラインクライアント からMySQL
FabricのMySQLプロトコルをしゃべる口に接続して、ちょこちょことステートメントを叩いてみる。
$ client/mysql -P 32275 -uadmin -pxxxx --protocol=tcp -h 127.0.0.1 --fabric-group=my_second_fabric --fabric-real-user=msandbox --fabric-real-password=msandbox[さらに読む]
mysql> \F
Current FABRIC_OPT_DEFAULT_MODE is ro
mysql> show tables;
ERROR 1046 (3D000): No database selected
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| tpcc |
+--------------------+
5 rows in …
ハマったのでメモ。
サンドボックスな環境でMySQLのポートを64055にしていたら、pt-query-digest --type
tcpdumpでそのまま食ってくれなかった。
結論、--portとかじゃなく、--watch-serverで指定するんだった。
$ sudo tcpdump -i any -p /tmp/test.cap -c 100
$ tcpdump -r /tmp/test.cap -n -x -q -tttt | pt-query-digest --type tcpdump
reading from file /tmp/test.cap, link-type LINUX_SLL (Linux cooked)
# No events processed.
あっれぇ。。
取り敢えずまずはPTDEBUG=1にして様子を見てみる。
$ tcpdump -r /tmp/test.cap -n -x -q -tttt | PTDEBUG=1 pt-query-digest --type tcpdump[さらに読む]
reading from file /tmp/test.cap, link-type LINUX_SLL (Linux cooked)
# /usr/bin/perl 5.010001
# Linux dev-personal-04 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 …
Original post: http://anothermysqldba.blogspot.com/2014/11/recover-lost-mysql-data-with.html
バックアップ...バックアップ...バックアップ...しかし、もちろん..あなたもそうでない場合、彼らは価値のない可能性があり、多くの場合、それらのバックアップを監視し、テストする必要があります。 MySQLの持つ …
Query Rewrite pluginの一番ベーシックな使い方はこちら。
The Query Rewrite Plugins | MySQL Server
Blog
MySQL
5.7.5-labsに$basedir/lib/plugin/install_rewriter_plugin.sqlを食わせてやれば取り敢えず有効になる。MySQL
5.7.5-m15にはこのプラグインは存在しないので注意。
$ mysql57 < install_rewriter_plugin.sql[さらに読む]
mysql57> SELECT @@version;
+------------------------+
| @@version |
+------------------------+
| 5.7.5-labs-preview-log |
+------------------------+
1 row in set (0.00 sec)
mysql57> show plugins;
+----------------------------+--------+--------------------------+-------------+---------+
| Name | Status | Type | Library | License | …
いっつも忘れるのだ!
前に使ってても忘れるのだ!
http://yoku0825.blogspot.jp/2014/11/mysql-fabric_29.html
こたえ: MYCLIENT_OPTIONS
$ ./use_all "select current_user"
# server: 1:
current_user
msandbox@localhost
# server: 2:
current_user
msandbox@localhost
# server: 3:
current_user
msandbox@localhost
# server: 4:
current_user
msandbox@localhost
$ export MYCLIENT_OPTIONS="-uroot"
$ ./use_all "select current_user"
# server: 1:
current_user
root@localhost
# server: 2:
current_user
root@localhost
# server: 3:
current_user
root@localhost
# server: 4:
current_user
root@localhost
FABRIC_OPT_MODE = roはスレーブだけを見に行くわけじゃない
の時にはweightにしたがってコネクションがラウンドロビンされるから、スレーブのweightを大きくして誤魔化す的なことをしていたけど、なんかそれっぽいものを見つけた。
$ mysqlfabric group lookup_servers my_first_fabric
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1
server_uuid address status mode weight
------------------------------------ --------------- --------- ---------- ------
47cf54df-63fc-11e4-942e-fa163e020fd0 127.0.0.1:20886 PRIMARY READ_WRITE 1.0
4b7036a9-63fc-11e4-942e-fa163e020fd0 127.0.0.1:20887 SECONDARY READ_ONLY 1.0
…