MySQL Utilities 1.5.3からMySQL FabricからAWSが叩けるよ!
という噂があったので、1週間半くらいがんばっていたメモ。結論先に言うと、1.5.3では使えない気がする。
http://dev.mysql.com/doc/relnotes/mysql-utilities/en/wb-utils-news-1-5-3.html
この記事は2014/11/18現在の情報を元に書かれているので、「ちゃんと情報書いてあるんじゃん」という未来が来るかも知れません。というか来てくれないと困る。ドキュメントちゃんと書いてくれマジで。
まず、"MySQL Fabric AWS"や"MySQL Fabric
EC2"でググっても何も出てこない。これがFabricクオリティ。
かろうじてOracle Open World 2014の " …
pstop – a top-like program for MySQL (based on
performance_schema) を見て試してみたメモ。
$ git clone https://github.com/sjmudd/pstop.git[さらに読む]
$ cd pstop
$ ll
total 52
-rw-rw-r-- 1 ec2-user ec2-user 710 Nov 17 10:03 BUGS
-rw-rw-r-- 1 ec2-user ec2-user 738 Nov 17 10:03 keys.txt
drwxrwxr-x 2 ec2-user ec2-user 4096 Nov 17 10:03 lib
-rw-rw-r-- 1 ec2-user ec2-user 1315 Nov 17 10:03 LICENSE
-rw-rw-r-- 1 ec2-user ec2-user 3905 Nov 17 10:03 main.go
-rw-rw-r-- 1 ec2-user ec2-user 1986 Nov 17 10:03 NEW_FEATURES
drwxrwxr-x 6 ec2-user ec2-user 4096 Nov 17 10:03 performance_schema
-rw-rw-r-- 1 ec2-user ec2-user 1041 Nov 17 10:03 README.md
drwxrwxr-x 2 ec2-user ec2-user 4096 Nov 17 10:03 screen
-rw-rw-r-- 1 ec2-user ec2-user 5551 Nov 17 10:03 screen_samples.txt …
あんま真面目に調べてないんですがメモ。
mysql> SELECT COUNT(*) FROM t1 WHERE MATCH(text_column) AGAINST('*D+ xxx' IN BOOLEAN MODE);
+----------+
| COUNT(*) |
+----------+
| 45402 |
+----------+
1 row in set (0.03 sec)
MariaDB [d1]> SELECT COUNT(*) FROM t1 WHERE MATCH(text_column) AGAINST('*D+ xxx' IN BOOLEAN MODE);
+----------+
| COUNT(*) |
+----------+
| 45402 |
+----------+
1 row in set (0.06 sec)
なんか倍くらい違う。
MariaDB [d1]> SHOW PROFILE cpu for query 1;[さらに読む]
+-------------------------+----------+----------+------------+
| Status | Duration | CPU_user | CPU_system |
+-------------------------+----------+----------+------------+
| starting | 0.000109 | 0.000000 | 0.000000 |
| checking permissions | 0.000009 | …
mysqlコマンドラインクライアントにHA切り替え機能を実装する編
でいじったコマンドラインクライアントでちょこちょこいじってたらなんか不思議な挙動に辿り着く。
mysql> \F ro[さらに読む]
Current FABRIC_OPT_DEFAULT_MODE is ro
mysql> SELECT @@port, @@read_only;
+--------+-------------+
| @@port | @@read_only |
+--------+-------------+
| 20886 | 0 |
+--------+-------------+
1 row in set (0.00 sec)
mysql> SELECT @@port, @@read_only;
+--------+-------------+
| @@port | @@read_only |
+--------+-------------+
| 20886 | 0 |
+--------+-------------+
1 row in set (0.00 sec)
mysql> SELECT @@port, @@read_only;
+--------+-------------+
| @@port | @@read_only | …
Connector/CでマスタースレーブHA打ち分け編
の応用で、mysqlコマンドラインクライアントにHA打ち分け機能を追加してみました。
パッチはこんな感じ。MySQL
5.7.5-m15のmysqlコマンドラインクライアントベースだけど、labs版のConnector/Cが5.6をベースにしてるっぽい気配がして、おとなしく5.6のコマンドラインクライアントベースにすればよかったかも。。
*** client/mysql.cc.orig 2014-09-18 22:36:41.000000000 +0900[さらに読む]
--- client/mysql.cc 2014-11-14 16:28:49.499593984 +0900
***************
*** 76,82 ****
using std::min;
using std::max;
! const char *VER= "14.14";
/* Don't try to make a nice table if the data is too big */
#define MAX_COLUMN_LENGTH 1024 …
Original post: http://anothermysqldba.blogspot.com/2014/11/systemctl-and-mysql.html
だから、一部のユーザーはyumのは、MySQLのインストールとMySQLサーバを起動するには、次のコマンドを使用できるように期待して完了::
"そのようなファイルまたはディレクトリ"を取得しないことだけを開始/etc/init.d/mysql
だから、これはsystemctlコマンドを使用するのに役立つ迅速なポストである。 あなたはこれを見て可能性があります:
# systemctl list-unit-files | grep mysql
mysqld.service disabled
最初に私はに行く推薦する …
わたしのC力は低いので、サンプルプログラムはへちょいです。
MySQL
Fabric対応のコネクターというともろもろありますが、俺が使えるコネクター(つまりDBD::mysqlのことだ!)がないので、Connector/Cにしました。labsです。
参考にしたサイトはこちら。
Using Connector/C with Fabric (MySQL Connectors
C)
Oracle公式のConnector/C(チーム)のブログなんてあったんだね!
というかこの1記事しかn<censored>
まずは labs からConnector/C 6.2.0
を取ってきてmake。なんかlabsからダウンロードする時にちょくちょく接続がリセットされるんだけどこれ俺だけ?
…[さらに読む]
MySQL Fabricの基本概念としては、
* Fabricサーバーはファームに関する情報だけを提供して、
* 実際の接続のハンドルはFabric対応コネクターが提供する
Fabricサーバーがしゃべるプロトコルは2種類。XML-RPCとMySQLプロトコルで、問い合わせ結果はコネクター側にキャッシュされて、TTLによって破棄される(実際にはコネクターの実装に依存するんだろうけど)
現在MySQL Fabricに対応しているコネクターは
* Connector/Python (○racleさん謹製)
* Connector/J (○racleさん謹製)
* …
マスター昇格編
でマスターをkillしても、スレーブがちゃんとマスターに昇格してくれるところまでは良かったんですが、
$ mysqlfabric group lookup_servers my_first_fabric
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 FAULTY READ_WRITE 1.0
4b7036a9-63fc-11e4-942e-fa163e020fd0 127.0.0.1:20887 PRIMARY READ_WRITE 1.0
(旧)マスターを起動したあとでも、待てど暮らせどファームには勝手に戻ってこない。
$ ./m[さらに読む]
Welcome to the MySQL monitor. …
一昨日インストールして 、 昨日HA構成だけ設定してみた MySQL Fabric。
さすがに手動での切り替えくらいは簡単だった。
* ファームに登録しているのはMySQL::Sandboxで作ったマスター/スレーブ1台ずつ構成です。
$ ./use_all "select @@read_only"
# master
@@read_only
0
# server: 1:
@@read_only
1
$ ./check_slaves
master
File: mysql-bin.000004
Position: 191
slave # 1
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 191
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Exec_Master_Log_Pos: 191
…