Update for last week (2020-01-14~ 2020-01-20)
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/)
8.0.19
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html
8.0.19のreleasenoteのリスト.
- Account Management Notes
- Audit Log Notes
- Compilation Notes
- Configuration Notes
- Deprecation and Removal Notes
- Error Handling
- Function and Operator Notes
- INFORMATION_SCHEMA Notes
- Keyring Notes
- Logging Notes
- Packaging Notes
- SQL Syntax Notes
- sys Schema Notes
- Thread Pool Notes
- X Plugin Notes
- Functionality Added or Changed
- Bugs Fixed
この内いくつかを筆者が抜粋して紹介します.
Account Management Notes
間違ったパスワードで連続してログインしようとしたユーザを一時的にロックする機能の追加
FAILED_LOGIN_ATTEMPTS
, PASSWORD_LOCK_TIME
オプションを利用して設定可能
詳しくは Password Managementのドキュメントへ。
Configuration Notes
FPROFILE_GENERATE
, FPROFILE_USE
CMAKEオプションが利用可能になった。
詳しくはcmake/fprofile.cmake.
Deprecation and Removal Notes
hash_join
optimizer_switchがdeprecatedになり、設定しても無意味になった(原文:... no longer has any effect
)- YEAR(2)が5.7.5でなくなったので、YEARとYEAR(4)だけになったのでYEAR(4)がdeprecated
Error Handling
- XAトランザクション中のErrorメッセージがXAコンテキストのものだとわかりやすいように修正
LOAD DATA LOCAL
に関するエラーメッセージがMySQLのバージョンによるような出力になっていたものをLoading local data is disabled; this must be enabled on both the client and server side
に修正
Function and Operator Notes
- これまでUDFはstringの引数や返り値のcollationを考慮せず、binary stringとして扱っていたが、collation情報を付与してUDFを作成できるようになった。詳しくはUser-Defined Function Character Set Handling
INFORMATION_SCHEMA Notes
ロールの情報に関するテーブルを追加
- ADMINISTRABLE_ROLE_AUTHORIZATIONS
- APPLICABLE_ROLES
- ENABLED_ROLES
- ROLE_COLUMN_GRANTS
- ROLE_ROUTINE_GRANTS
- ROLE_TABLE_GRANTS
Logging Notes
SIGUSR1
シグナルを送ることでerror log, general query log, and slow query logをflushすることができるようになった。
これによってRELOAD
権限を持ったアカウントでアクセスしてクエリを打つ必要がなくなった
SQL Syntax Notes
TABLE table_name
というSELECT * FROM table_name
と等価な構文の追加- 詳しくはTABLE statementドキュメントへ。
- INSERT, REPLACE文で
VALUES
に続くROW()
row constructorの追加 - CTEのrecursive common table expression中での
LIMIT ...OFFSET
が指定できるようになった - CHECK制約を操作するDDLでSQL標準の
DROP CONSTRAINT
,ALTER CONSTRAINT
がサポートされるようになった INSERT INTO ... ON DUPLICATE KEY UPDATE
構文内でVALUES, SETを使っていた構文をエイリアスnew
を使用できるようになった。
Thread Pool Notes
グループごとにアクティブなスレッドのmaxを制限できるthread_pool_max_active_query_threads
が追加された
Bugs Fixed
(後日)
5.7.29 and 5.6.47
- https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-29.html
- https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-47.html
いつか...
Bugs
基本的にMySQL Server, 5.7以上のbug fixのみまとめます
Bug #98203 mysql dump "sufficiently long" network timeout too short
- booleanでon/offだけ指定できる
--network-timeout
はhard codedで700病になっているという報告 - 8.0.20で修正される
Organization blogs
-
- The MySQL 8.0.19 Maintenance Release is Generally Available
- 8.0.19のリリース告知
- release noteとは違った項目立てで紹介されているので、読みやすい(かも)
- The all new MySQL InnoDB ReplicaSet
- MySQL Shell AdminAPI – What’s new in 8.0.19?
- MySQL Shell 8.0.19 – What’s New?
- MySQL Shell 8.0.19の新機能紹介
- A new, simple way to figure out why your recursive CTE is running away
- A Tale of UDFs with Character Sets
- 8.0.19で入ったUDFにcharacter setを指定できる機能についての紹介
- Upgrading MySQL InnoDB Cluster Metadata
- InnoDB Clusterを8.0.19にupgradeする方法の説明
- The MySQL 8.0.19 Maintenance Release is Generally Available
-
- MySQL 8.0.19 Replication Enhancements
- Restrict MySQL replication to row based events
REQUIRE_ROW_FORMAT
に関する説明
- NDB Cluster 8.0 is Generally Available
- NDB Cluster 8.0のリリース告知と新機能紹介
-
- Introduction to Vitess on Kubernetes for MySQL – Part I of III
- Vitess on Kubernetesシリーズの3部作1つめ
- Vittessの紹介と用語としてはvtgate, vttablet, vtctldあたりがかんたんに説明されている
- Examining MySQL InnoDB Persistent Statistics
- 以前の記事にØystein Grøvlen-sanがサジェストしたという
mysql.innodb_table_stats and mysql.innodb_index_stats
の取得に関して。 - 無効化や情報の更新頻度に関する説明からはいって実際に取得する例もある
- 以前の記事にØystein Grøvlen-sanがサジェストしたという
- Setup and Deploy Vitess on Kubernetes (Minikube) for MySQL – Part II of III
- OSX上のMinikube環境でVitessを動かすサンプルの説明
- minikube, etcd, helm, Vittess-clientなどのinstallから説明されてる
- Setup and Deploy Vitess on Kubernetes (Minikube) for MySQL – Part III of III
- このシリーズ最後の記事. クラスタの構築まで
- Using Flame Graphs to Process Outputs From pt-pmp
- pt-pmpの結果をflame graphで見れるようにゴニョゴニョする方法の紹介
- FOSDEM 2020 Program: Come Meet the Team
- FOSDEM 2020のMySQL, MariaDB, PostgreSQL関連のプログラムリスト
- 発表資料はそのうち公開されるのかな?
- Introduction to Vitess on Kubernetes for MySQL – Part I of III
-
- 第113回 anemoeaterを使ってスローログを可視化してみる
- anemoeater(Anemometerのラッパーツール)を利用したスローログの可視化
- 第113回 anemoeaterを使ってスローログを可視化してみる
SmartStyle TECH BLOG (category MySQL)
- Nothing
-
- Nothing
Personal blogs
-
- Dave-Stokes-san
- 8.0.19で入った新機能についての紹介
MySQL 8.0.19が来た! その1: 明示表(Explicit Table)とTVC(Table Value Constructor)
- kimura-san
- 8.0.19で入った新機能紹介
- 特に明示表(Explicit Table)とTVC(Table Value Constructor)について
- MySQL 8.0 の LOAD DATA で The used command is not allowed with this MySQL version エラー
- mita2-san
LOAD DATA INFILE LOCAL
が8.0でデフォルト無効にされた経緯と回避方法などの紹介,実験
- MySQL Technology Cafe #7 で『MySQL Shellを使ってみよう』を聞いてからのWindowsでの導入部分
- next4us-ti-san
MySQL Technology Cafe #7
の参加記とWindows環境でのinstall方法、ハマりどころ紹介
- MySQL Shell 8.0.19 で InnoDB ReplicaSet をちょっとだけ試してみる
- hmatsu47-san
- MySQL Shell 8.0.19でMaster-Slave構成のReplica Setを作るサンプル紹介
- MySQL - VirtualBoxのホスト共有フォルダをdatadirにしたらはまった
- miyakelp-san
- Windows上のVirtualBox環境でMySQLのdatadirがホスト共有フォルダになってしまっていた場合のエラーとその調査について
- MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する
- RabbitFoot141-san
- Exampleストレージエンジンをベースにした自作ストレージエンジン自作
- 実装ハンドラー周りの紹介
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)