MySQL Routerつらくない(yumでインストールして動かしてみた編)
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015 の3日目です。昨日の時点で、CentOS 6.6でMySQL Routerを試すには自前ビルドしないといけないことが判明しました。つらい だが俺にはDockerがある。CentOS 6.6の上でCentOS...
View ArticleMySQL Routerつらくない(CentOS 6.6でもビルドがしたい編)
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015の4日目です。昨日の時点で、CentOS 7.1のコンテナーなら問題なくyumでインストールして動作確認ができることはわかりました。しかしまあ、勤め先の本番環境はほとんどがCentOS 6.xなので、どうせならそっちで動く形式にしておきたい(特に、MySQL...
View ArticleMySQL 5.5とそれ以前のマスターにMySQL 5.7のスレーブはぶら下げられない
出来ないのは仕様だそうです。ステータスは"Not a Bug"MySQL Bugs: #79272: MySQl 5.5 master fails to replicate to MySQL...
View Articlept-online-schema-changeと5.6 InnoDBのオンラインALTER TABLE使い分け
この記事は MySQL Casual Advent Calendar 2015 の9日目です。MySQL 5.6から InnoDBのオンラインDDL が導入されて久しいですが、一方で pt-online-schema-change (以下pt-osc)もまだまだ元気です。MySQL 5.5とそれより前ではpt-osc一択になりますが、MySQL...
View Articlesqlplusのお供、rlwrapのオプションについて調べてみた
この記事は JPOUG Advent Calendar 2015 の10日目の記事です。残念ながら私は全くOracleというDBMSが使えません。どれくらい使えないかというと、SQL> SHOW DATABASES;SP2-0158: unknown SHOW option "DATABASES"( ゚д゚)ノ...
View ArticleMySQL Routerつらくない(MySQL Fabricと組み合わせて使ってみる編)
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015の10日目のはずだったけれど日付が変わっちゃった残念な記事です(´・ω・`)$ mysqlfabric --param=protocol.xmlrpc.address=172.17.3.202:32274 group lookup_servers myfabricFabric UUID:...
View ArticleMySQL Routerつらくない(Dockerで誰でも試せるMySQL Fabric Cache Plugin編)
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015の14日目のエントリーです。前回の記事で無事にMySQL Fabric Cache Pluginでマスター/スレーブの構成をMySQL Fabricに管理させつつ、コネクションはMySQL Routerでハンドルさせることができたので、みなさんそろそろ「MySQL Router...
View Article「MySQL 5.8に欲しい機能は?」って中の人がブログ書いてる件を3か月遅れで
Oracle MySQLの中の人、コミュニティーチームの Morgan Tockerのブログに、"MySQL 5.8に欲しい機能は?"とかいう、どストレートな記事がある。このエントリーはこのブログ…に寄せられた主に コメントの紹介。ブログ本文はタイトルがほぼ説明してるので。What would you like to see in MySQL 5.8? | Master...
View ArticleConoHaで自作Billing Alertを使っているはなし
このエントリーは ConoHa Advent Calendar 2015 の25日目のエントリーです。メリークリスマス!22日目に既に ConoHaちゃんが好きすぎるので、WebAPIを叩くためのGemを(途中まで)作ってみた...
View ArticleMySQL Routerをlocalhostに置いたらどれくらいの遅延になるかを考えるメモと、MySQL Routerは本当につらくなかったのかのまとめ
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015 の25日目の記事です。まずはどうやって遅延を計測しようか考えているメモをだだだと書きなぐる。後半にまとめっぽいものを。計測環境。サーバーもクライアントもc4.xlarge。サーバーはyumリポジトリーで5.7.10を突っ込んで起動しただけ。# rpm -i...
View Article2015年のMySQL 5.7騒動を振り返って
ポエムです。もう1時間半ちょっとで年も明けますが、今年も色々な方にお世話になりました。ありがとうございました。2015年は振り返るまでもなくMySQL 5.7漬けでした。というか、去年はまだMySQL 5.7漬けじゃなかったんですね。そのことにむしろびっくり。もっと長い間 disり調べ続けていたような気がします。2015/03のPercona Liveに合わせてリリースされた(と思う) MySQL...
View ArticleMySQL 5.7.11でdefault_password_lifetimeのデフォルトが0になるらしい!
日々の覚書: MySQL 5.7.4で導入されたdefault_password_lifetimeがじわじわくる の公開以来大反響をいただいていた (ブクマがすごいことになっていて、思わず ばぐれぽにブクマのリンクを貼り付けたほど)default_password_lifetimeが。5.7.11でついにデフォルト0になる!!! やった!!! やったよ!!!ドキュメントはもう"default: 0...
View ArticleMySQL Bug #79977 "utf8mb4_unicode_520_ci don't make sense for Japanese...
英語で書いてたら自分でもよくわからなくなってきたので。MySQL Bugs: #79977: utf8mb4_unicode_520_ci don't make sense for Japanese FTS* 本質的には MySQL Bugs: #76553: Sushi-Beer issue of MySQL with utf8mb4 の関連。 *...
View ArticleAnemometerというMySQLスローログ専用の可視化ツールの弱点と、その克服スクリプト
一部の人にしか知られていない AnemometerというMySQLのスローログ専用の可視化ツールがある。box/Anemometer: Box SQL Slow Query Monitor中身はpt-query-digestの...
View ArticleMySQL 5.7.8から導入されたVersion Tokenとやらの動作
ドキュメントはこちら。MySQL :: MySQL 5.7 Reference Manual :: 5.1.8.4 Version Tokensサーバーの持ってるトークンとクライアントが持ってるトークンを比較して、一致しなければエラーにしてくれる仕組み。取り敢えず何はなくともインストール。version_token.soはバンドルされてるので、ドキュメントの通りにINSTALL...
View ArticleWHERE .. IN (..)のリストの順番でソートするORDER BY FIELDの仕組み
MySQLには`WHERE col IN (..) ORDER BY FILED(col, ..)`という書き方でINに並べた順番にソートしなおせるという知見がある。こんなテーブルがあって、mysql56> SELECT * FROM t1;+-----+-------+| num | val |+-----+-------+| 1 | one || 2 | two || 3 | three...
View ArticleORDER BY RAND()はしたくないけどそれなりにランダムな結果セットを返すいくつかの方法を考える
ORDER BY RAND()といえば、「結果セットをランダムにソートし、LIMITと組み合わせることでランダムに指定件数をピックアップしたかのように見える」黒魔術。( ´-`).oO(そういえばこれも ORDER BY FIELDと一緒で構文だと思っていた人がいたな。。これもまあRAND()関数を使ってるだけなので、select_listに放り込めば何やってるかわかりやすい。mysql56>...
View Article複数のテーブルのON UPDATE current_timestampなカラムの値を揃える方法を考える
タイトルで何を言ってるのか我ながら良くわからない。。mysql56> SELECT * FROM t1 JOIN t2 USING(num);+-----+-------+---------------------+---------------------+--------+---------------------+---------------------+| num | val |...
View ArticleMySQL = 5.7.11に乗り換えるだけでdefault_password_lifetimeの呪縛から逃れられる理由
見直したらほぼ 日々の覚書: MySQL 5.7.4で導入されたdefault_password_lifetimeがじわじわくる(MySQL 5.7.11でFIX!!) に書いてあったんだけど、@yoku0825@soudai1025 yumでさくっとバージョン上げた時に、=360のままだった気がしたので、そりゃ確かに勝手に設定値を書き換えたりしないよなと思ったのでした。(勝手に 既定コードを...
View ArticleSHOW TABLE STATUSのData_lengthとかIndex_lengthとかData_freeの値をぼんやり考える
InnoDBの場合。MyISAMは全くアテにならなかった(少なくとも5.7.11では)InnoDBでも所詮統計情報なので完全にアテになる訳じゃないのはお約束。テスト。mysql57> CREATE TABLE t1 (val char(250));Query OK, 0 rows affected (0.02 sec)mysql57> INSERT INTO t1 SET val=...
View Article