MySQL Weekly

毎週月曜朝10時ころ更新、1週間のMySQL情報をまとめます

Update for last week (2019-11-25 ~ 2019-12-01)

MySQL Weeklyでは1週間ごとにMySQLのrelease-note, bug, official blog, organizationによるblog, 個人のblogをまとめ紹介しています。
更新は月曜 10時(AM)です。先週一週間のMySQL関連の更新を再確認するのにご活用ください。

また、このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)

Release note

(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)

  • Nothing

Bugs

基本的にMySQL Server, 5.7以上のbug fixのみまとめます

  1. serverity >= S5(Performance)でupdatedでdesc sort、結果の今週分
  2. Status == ClosedID#でdesc sort、結果の今週分を見る

Bug #97777 separate global variables (from hot variables) using linker script (ELF)

  • global変数のbtr_search_enabledを読み込む部分が競合してパフォーマンスを悪化させているという報告
  • パッチもあるが変更が多いので、コンフリクトしそうとのこと
  • システムプログラミング力が弱くて内容が把握できないが、verifiedになったので、修正され方を確認したい

Bug #97822 buf_page_get_gen buf_pool->stat.n_page_gets++ is a cpu waste

  • 上のバグレポートと同じ報告者によるレポート
  • TPCCのベンチマーク中にperfで記録したところbuf_page_get_genまわりでCPU処理が重いという報告

Organization blogs

  • MySQL server blog

    • Nothing
  • MySQL High Availability blog

    • Nothing
  • Percona blog (MySQL)

    • Comparing S3 Streaming Tools with Percona XtraBackup
      • XtraBackup 2.4.14からxtrabackupでbackupしたバックアップをstreamingでS3 compatibleなストレージにuploadできるようになっている、そこでPerconaが作ったxbcloud toolと書くPublic cloud純正のS3 uploadツールのパフォーマンス比較をした結果を説明
      • 結論部分ではチューニングしたxbcloudが長距離のバックアップでは2~5倍高速で、同じ設定でも14%早く20%メモリ消費が少ないとしている
      • また、以下の2つの理由で他のツールより安全とのこと
        • upload中にmd5 sumsを計算してして検証している
        • 10MBごとのチャンクに切って転送失敗時には再送をしている
    • Running PMM1 and PMM2 Clients on the Same Host
      • PMM2へのmigration手段として一時的にPMM1と同時に利用する場合の方法を紹介
  • MySQL道普請

    • Nothing
  • SmartStyle TECH BLOG (category MySQL and Percona)

  • GREE Engineer's Blog (MySQL関連)

    • チョットワカル Row-Based Replication・その5
      • TABLE_MAP_EVENTを通して型変換のチェックやfilterがどのように動作するかの説明をMySQL 8.0.12のソースコードを参照しながら説明されている。
      • (感想) 解説というよりは説明をもとにコードを読むことが前提なので、なかなかハードモード(というかほとんど読み飛ばして結論だけ読みましたm(_ _)m)
  • Yakst MySQL-tag

    • Nothing
  • MySQL Shell Plugins: check (part 3)

    • lefred-san
    • MySQL Shell Pluginのcheckメソッドに追加した機能紹介
      • getQueryMostRowAffected([limit][, schema][, session])
      • getQueryUpdatingSamePK[limit][, schema], session
      • getTrxWithMostRowsAffected([limit][, schema][, session])
      • getTrxWithMostStatements([limit][, schema][, session])
    • lefred-sanのmysqlshell-pluginsも公開されているので、自分でMySQL Shell Pluginを拡張する場合にもとても参考になりそう
  • MySQL Shell Plugins: InnoDB
    • lefred-san
    • MySQL Shell Pluginのinnodbメソッドに追加した機能紹介
      • getAlterProgress([session])
      • getFragmentedTables([percent][, session])
      • getFragmentedTablesDisk([percent][, session])
    • (感想)すごい、今後のバージョン対応をどうするか気になるけど、たしかにsnippetで管理している便利SQLたちを外出しして共有するのに一番良い方法だと思う
  • MySQL 8.0.18 New Features Summary
    • Olivier Dasini-san
    • 8.0.18に追加された機能紹介
    • 発表スライドが添付されている。
    • Agendaは以下
      • Hash Join
      • EXPLAIN ANALYZE
      • Only OpenSSL
      • Random Password
      • MySQL Shell Enhancements
      • MySQL Router Enhancements
      • InnoDB Cluster Enhancements
      • Group Replication Enhancements
      • Replication Enhancements
      • Enterprise New Features
      • Thanks to the Contributors
  • MIGRATION FROM MYSQL 5.7 TO MARIADB 10.4
    • Shinguz-san
    • MySQL 5.7からMariaDB 10.4への解説というほど説明はなく、mysql_upgrade --forceを2回(再度?)叩くといくつかのerrorが消えるという現象の紹介
  • innodb_autoinc_lock_mode = 1 vs 2 でバルクインサートが競合した時のAUTO_INCREMENTの挙動が違うはなし
    • yoku0825-san
    • innodb_autoinc_lock_mode = 1/2でauto_incrementなカラムがあるテーブルに同時にbulk load(insert)するクエリがある場合にauto_incrementの値がどう変わるかを検証
    • bulk load(insert)後にlast_inserted_idを持ってきてなにかの処理を続ける場合はこの挙動を知らないとバグになるよという話
    • (感想) 検証中にでてくるCTEを見ていて連番発行楽になったことを思い出した。LEAD()とか忘れていたので、ちゃんとコマンドのログからやっていることを終えるか確認してみると良さそう。
  • 本番データ de CLONEプラグイン、そして思ったこと
    • yoku0825-san
    • 本番環境でMasterからCLONEプラグインでslaveようにデータをcloneしたときのつまりどころ紹介
      • CLONE中はホストとのコネクションが切れないようにする
      • 5.7からupgradeしたときは再起動が必要かも(undoログのファイルがないエラーが出た原因がこれかもしれない)
  • 手探りでマイエスキューエルシェる!
    • yoku0825-san
    • MySQL Shellでタブ保管を使ってメソッドを探っていく話
    • help()メソッドがあればMySQL Shellのメソッド、なければJS実装のものと判断できるかもしれない
  • MySQL admin_address にワイルドカードは指定不可
    • mita2-san
    • MySQL Weekly で tom__bo さんから頂いた、感想へのフィードバック(と補足)です。
    • 先週の記事でのmita2-sanの記事に対するコメント(感想)部分に対する回答記事(わざわざありがとうございます)
    • タイトルどおりadmin_addressではワイルドカード指定はできないという指摘
    • (感想) 先週から(感想)とつけて記事の内容と僕の感想を分けたことで少々適当な(裏取りしてない)コメントを付けてしましました、すいませんm(_ _)m
  • InnoDB FULLTEXT Search の ngram_token_size
    • mita2-san
    • ngram_token_sizeを変更したらインデックスを再構築しないと検索結果が正しくならないことの検証付き説明
      • スキーマやテーブルごとにngram_token_sizeは変更できない

このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)