MySQL Weekly

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

Update for last week (2020-04-27~ 2020-05-03)

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

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

Release note

Changes in MySQL 8.0.20 (2020-04-27, General Availability)

Account Management Notes

  • 以前はroutineの定義を確認するにはglobalのselect権限だけがあればよかったが、これは権限範囲が広すぎるため、SHOW_ROUTINE権限を導入しより細かい権限制御が可能になった

Compilation Notes

  • solarisでClangでもコンパイルできるようになった。(実験的なもので、production readyではない)
  • EL7, EL8環境ではGCC8の前にGCC9でコンパイルできるか確認するようになった。
  • Windows環境ではVisual Studio 2019がサポートされた環境であると表示するようになった

Deprecation and Removal Notes

  • JSON_TABLE()関数を呼び出すときにON EMPTYON ERRORの指定はどの順番でもできたが、これはSQL標準に反し、ON ERRORの前にON EMPTYを書かないといけないということからこれは非推奨になり、warningが出るようになった
  • max_length_for_sort_dataはdeprecated
  • INSERT ... ON DUPLICATE KEY UPDATE内で利用されるVALUES()はdeprecatedで、今後のバージョンで完全に廃止予定

JSON Notes

  • rapidjsonライブラリがupdateされた

Logging Notes

  • SIGHUPシグナルと受けたときにerror logにstatusを書き込むのをやめた
  • JSON-formatのerror logでts(timestamp)の書き込みも行われるようになった

Optimizer Notes

  • Hash joinが以下のような状況でも適用されるようになった
    • Inner non-equi-joins
    • Semijoins
    • Antijoins
    • Left outer joins
    • Right outer joins
  • インデックスレベルのoptimizer hintが追加された
    • JOIN_INDEX
    • NO_JOIN_INDEX
    • GROUP_INDEX
    • NO_GROUP_INDEX
    • ORDER_INDEX
    • NO_ORDER_INDEX
    • INDEX
    • NO_INDEX
    • これらは既存のFORCE INDEX、IGNORE INDEXと意味的に重複するものがあるが、この2つのヒントはいずれdeprecatedになり、その後廃止される予定

Packaging Notes

  • システムのcurlではなく、自身でcurlライブラリを含めるように変更
  • RPMパッケージでcomp_errユーティリティが-testサブパッケージに以降
  • バンドルされているLZ4ライブラリを1.9.2にアップグレード
  • バンドルされているlibeditライブラリを3.1にアップグレード

Performance Schema Notes

  • グローバルレベルでしか起きないerrorに関する統計情報をセッション単位で収集することを廃止

Pluggable Authentication

  • LDAP referralとして知られるLDAP検索を以上する機能の設定ができるようになった
  • MySQL EnterpriseのSASL LDAP authentication pluginでGSSAPI/Kerberosがサポートされる

SQL Syntax Notes

  • SELECT文のINTO句は以下の2つの位置に書くことができたが、今後はSELECT文の最後にしかかけなくなる。今回はdeprecatedで今後廃止予定
    • FROMの後
    • trailing locking clause(FOR UPDATEとか)の前

Test Suite Notes

perfschema.idx_compare_replication_applier_statusテストケースがupdateされた

X Plugin Notes

  • 起動時やsessionの初期化時にconnectionが貼れなかったり、メモリ不足だったりしてたときのための修正など
  • bug fixに見えるので省略

Functionality Added or Changed

  • TINYBLOB以上のサイズのBLOB型をsort対象にした場合、row IDだけを返すようになっていたが、これによって内部的にLONGBLOBで実装されているJSON, GEOMETRY型のパフォーマンスが落ちていたので、修正された、しかし、この影響で数MB以上のJSONなどをソートするときにOut of memoryエラーが発生する可能性がある。この場合はsort_buffer_sizeを大きくする必要がある
  • Contention-Aware Transaction Scheduling(CATS)アルゴリズムによるロック待ち状態のトランザクションの実行順序の制御方法が導入され、これまでのFIFOではなくなった
  • dbouble write bufferのための領域がsystem tablespaceからdoublewrite用のファイルに区別された。それによりdoublewrite用のシステム変数もいくつか追加された。
  • EXPLAIN ANALYZE, EXPLAIN_FORMAT=TREEにあった制限やバグのfix
  • macOSでも-DWITH_LTO=1 CMakeオプションが利用できるようになった
  • binary logの圧縮が可能になった。
  • CHANGE MASTER TOREQUIRE_TABLE_PRIMARY_KEY_CHECKオプションが追加された
  • X Protocolの圧縮アルゴリズムやそのlevelを選択可能になった

Bugs Fixed

かなり多いので省略

Changes in MySQL 5.7.30 (2020-04-27, General Availability)

省略。5.6も省略。

Bugs

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

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

  3. Nothing

Organization blogs

Personal blogs

今回多すぎたので紹介のみです


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