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のみまとめます
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
-
- Nothing
-
- Nothing
-
- 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と同時に利用する場合の方法を紹介
- Comparing S3 Streaming Tools with Percona XtraBackup
-
- Nothing
-
- 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
- MySQL 8.0.18 New Features Summary
- Olivier Dasini-san
- 8.0.18に追加された機能紹介
- 発表スライドが添付されている。
- Agendaは以下
- MIGRATION FROM MYSQL 5.7 TO MARIADB 10.4
- 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ログのファイルがないエラーが出た原因がこれかもしれない)
- 手探りでマイエスキューエルシェる!
- 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歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-11-18 ~ 2019-11-24)
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のみまとめます
Nothing
Organization blogs
-
- Nothing
-
- Nothing
-
Profiling Software Using perf and Flame Graphs
- perfとbrendan gregg先生のFlameGraphを使って起動中のmysqldのフレームグラフを書く方法の紹介
- クライアントからコマンドを打ってその内容を確かめる方法など、これもブックマークしておいて損はない
- UUIDs are Popular, but Bad for Performance — Let’s Discuss
- UUIDを発行するテーブルのパフォーマンスに対する実験と考察
- UUIDを格納する型やテーブル内でソートされた状態に保つかでパフォーマンス比較を行っている
-
- 第110回 Invisible Indexesを使って気軽にチューニングを始めてみる
- 不要そうなIndexがあったときにInvisible Indexを使って本当にDrop indexしてよいか検証する流れを説明
- 不要なキーの確認方法として
pt-duplicate-key-checker
,sys.schema_unused_indexes
の使い方も紹介されている
- 第110回 Invisible Indexesを使って気軽にチューニングを始めてみる
-
- Nothing
Personal blogs
- MySQL Shell Plugins: check
- MySQL Shell Plugins: check (part 2)
- lefred-san
- 前回に続いてplugin紹介
perfornamce_schema
とsys
スキーマから重いクエリを分析するための便利コマンドgetSlowerQuery()
,getQueryTempDisk()
,getFullTableScanQuery()
- でも動画付き。かなり便利そう。
-
- Dave Stokes-san
- 5.6 or 5.7からの8.0upgradeのwebinar紹介
- 11/27 9:00 PDTなので、28の2:00かな。きつい
-
- yoku0825-san
- 忘年LT大会の参加記
- MyNA(日本MySQLユーザ会) 望年LT大会2019@赤坂 開催しました
- sakaik-san
- 忘年LT大会の開催記、今年も良い忘年会(?)の開催をありがとうございました。
- 日本MySQLユーザ会 望年LT大会2019 と Casual Talks 開催告知
- mita2-san
- ブログ引っ越された様子。
- 忘年LT大会の発表スライドとMySQL Casual Talks vol.13の告知
- MySQLで管理用IFを使いつつ特権ユーザをローカルアカウントのみに絞りたい
- mita2-san
- 特権アカントをローカル接続(Not unix_domain_socket)のみで運用したい場合のadmin_address, admin_portの設定方法について
- (感想) 特権アカウントが何を意味するのかは不明だが、too many connectionsエラーを起こしたくなくてこれを使う場合は
SERVICE_CONNECTION_ADMIN
権限がついていればこの設定を利用できるようになる。 - (感想) HAツールがtoo many connectionsに巻き込まれないようにとか考えると接続自体は*(すべて)で受け付けて通常のアカウント認証に任せるのではだめなのかなと思ったりもした。(admin_addressにIP addressのリストは渡せなかったはず)
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-11-11 ~ 2019-11-17)
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のみまとめます
Bug #97589 JSON fields return altered data
- 結論としては意図された実装なので、ドキュメント修正
- json型に挿入したリストの値をselectして表示されるときに要素の間にinsert時にはなかったspaceがあるという報告
Organization blogs
-
- Hash join in MySQL 8
- Hash Joinの内部的な処理順序についての説明
- build/prove phaseについてとhash tableがメモリに乗り切らない場合にどのように処理するかの概要がわかる
- NLJとの比較のパフォーマンスについては条件が少なくて(indexをすべて外してるとか言ってるし)やや怪しいが、まあ手元で試しても結構早くなっているので、あとは本番環境で問題ないか試すしかなさそう
- まとめ部分の
limitation to the current implementation ...
の2つめはよくわからなかった、optimizerとplannerはBNLJと想定しているっていうのはInnoDBが勝手にjoin方式を変換しているってことなのだろうか?
- Hash join in MySQL 8
-
- Nothing
-
- Prepare Your Databases for High Traffic on Black Friday
- Black Fridayを前にどういった対策を取るべきかの方針を整理したブログ
- 具体的な内容としては当たり前の事が多いが、高トラフィックが予想されるイベントを前にどういう方針で準備・振り返りをするかのドラフトとして参考にするのは良いかも
- Watch Out for Disk I/O Performance Issues when Running EXT4
- Blog Poll: Who Chooses Your Database Technology?
- Perconaによるブログ内アンケート記事
- 「どの役割の人がDBを決める?」という内容
- 日曜夜時点ではArchitectsが51票32%でトップ。ついでDevelopers, DBAs
- 役割の分け方とかいろいろあると思うけど、MySQLでもArchitectsっていう風になるのか〜とおもった。アーキテクトっていわゆるSEっぽくないですか?
- 日本人の回答は殆ど無いだろうから海外の役割分担はよくわからなくて参考にはならないかも
- Prepare Your Databases for High Traffic on Black Friday
-
- Nothing
SmartStyle TECH BLOG (category MySQL and Percona)
- Oracle Grid Infrastructure を用いた MySQL Enterprise Edition HA構成 (その1:GI構築編)
- Oracle Grid Infrastructure を用いた MySQL Enterprise Edition HA構成 (その2:MySQL構築編)
- GI構築・MySQL構築・機能検証(予定)の3部作の超大作の2つめ
- バイナリログ出力形式と GTID と一時テーブルの仕様変更について
- GTIDベース, binlog_format = mixed/row でのtemp tableの作成に関する情報の整理
- マイナーバージョンレベルでの変更の経緯も書かれていて非常に参考になる
GREE Engineer's Blog (MySQL関連)
- Nothing
-
- Nothing
Personal blogs
MySQL: Check who’s trying to access data they should not
- lefred-san
- roleの使い方のおさらいと、権限のないテーブルにアクセスした場合に
performance_schema.events_errors_summary_by_user_by_error
を利用して確認する方法の紹介
-
- yoku0825-san
count(city_name is null or null)
の結果をめぐる話(一個したの記事)に関連してNULLと演算結果の整理
COUNT に「OR NULL」入れるの、正しい結果返すのわかったけど、心がザワザワしてたけど、今はスッキリした。(スゲーッ爽やかな気分だぜ)
- taka_yuki_04-san
count(city_name is null or null)
の結果をめぐる話- 個人的には、
OR
が短絡評価だと保証されてるの?という疑問が解決できずにいる。C++ likeな&&
,||
とAND
,OR
が対応していることを考えるとまあ良い気もするけど、これらのC++ likeな記法は8.0.17でdeprecatedになっているし、短絡評価されるとdocumentされてないと思う - 正直この問題は、
Having
句でも使う必要はないと思っていて、Hackとして面白いけど個人的には推奨しないかなという感じ - ちょっと適当に見つけてきたもの過ぎて良くないけどoracleでは短絡評価を保証しないっぽい
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-11-03 ~ 2019-11-10)
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のみまとめます
Bug #97471 Function passing std::vector<> by value could be sightly improved
vector<>
にconst referenceやpointerではなく値で渡しているせいでパフォーマンス低下になっていそうという指摘- 仕組みがわかっていないし、説明もされていないので常識の様子
- 8.0.19で修正されるとのことなので、どう修正されたか見てみたい
Organization blogs
-
- Nothing
-
- Nothing
-
- 第109回 主キーを必須にさせる
sql_require_primary_key
に関する説明- レプリケーションが絡んだ場合やalter table, create temporary tableの場合に注意するべきポイントもまとまっている
- 第109回 主キーを必須にさせる
GREE Engineer's Blog (MySQL関連)
- チョットワカル Row-Based Replication・その3
- row_based replicationに関する深堀り記事第3段
- Internals Manualとworklog 5092をもとにした情報の整理とPKEに関連する挙動の実験についてまとめられている
- 個人的にはこのあたりの概要はソースを呼んで把握するのは不可能で、上記のinternal manualとworklogを読んでからからbinlogの各種eventsを見たほうが良いと思う。コード中のコメントも良かったかもしれないけど覚えていない。
- ただinternals manualは古くて最近追加されたeventについては書いてない。。。
- チョットワカル Row-Based Replication・その3
Personal blogs
- Want to talk about MySQL at SCaLE 18x?
- MySQL 8.0.18からCREATE USER, ALTER USER, SET PASSWORDで "RANDOM" を指定できるようになった
random password
句に関する説明- geneteded_random_password_lengthでランダムパスワードの長さを変えられる
performance_schema.variables_info
は試験に出そう(なんの?)
- MySQL Shellのdba.deploySandboxInstanceでサクッとmysqldを起動する
- MySQL の 巨大な core ファイル 対策(MySQL 8.0〜)
- innodb_buffer_pool_in_core_fileをoffにすることでbuffer_poolの情報が抜けてコンパクトになることが例示されている
- buffer_poolの情報はテーブルのpage(or extent?)だろうけど、それを覗いた残りは何なんだろう?誰かそれについてまとめてほしいw
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-10-28 ~ 2019-11-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
(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)
- Nothing
Bugs
基本的にMySQL Server, 5.7以上のbug fixのみまとめます
serverity >= S5(Performance)
でupdatedでdesc sort、結果の今週分Status == Closed
でID#
でdesc sort、結果の今週分を見るNothing
Organization blogs
- MySQL server blog
- Nothing
-
- Nothing
-
- Use MySQL Without a Password (And Still Be Secure)
- How Percona Support Handles Bugs
- PerconaではBugを分類どのように分類して対応しているかを整理したもの
- Perconaのサポートを知らないせいか何を書きたいのかはよくわからなかった
- 関連する用語を整理したようなので、独自で分類したりするときに参考になるかも
- Understanding Hash Joins in MySQL 8
- Hash Joinについての整理
- NLJとの比較も出しているがこれはレコード状況次第なので、なんとも言えない気がする
- Column Histograms on Percona Server and MySQL 8.0
- 8.0で入ったHistogram情報に関して詳しい解説
- singleton histograms, Equi-height histogramsに関する説明と、確認方法、適用例が丁寧に説明されている
- Using Explain Analyze in MySQL 8
- Explain Analyzeの解説
- actual time=...で書かれる情報についても説明されている
-
- Nothing
SmartStyle TECH BLOG (category MySQL and Percona)
- Nothing
GREE Engineer's Blog (MySQL関連)
- チョットワカル Row-Based Replication・その1
- チョットワカル Row-Based Replication・その2
- parserによってdecide_logging_format()が呼ばれる部分を中心としてbinlog_formatの決まり方について解説
- InnoDBを前提として、storage engine, isolation_levelでもbinlog_formatの決定方法が変わるようなのは分かるが周辺知識をもって読み込まないと、これでreplicationが止まるなど運用のレベルでどう利用できるかわからないように見える
- Yakst MySQL-tag
- Nothing
Personal blogs
- Setup 2 MySQL InnoDB Clusters on 2 DCs and link them for DR
- lefred-san
- データセンターをまたいでgroup replication構成のstandby clusterを作成する方法の紹介
- 2つのinnodb clusterを作成して、cluster間は予め設定したホスト同士でreplicationしている
- option1, 2のうち2を説明しているが、1の場合も気になる
- Using MySQL Community Repository with OL 8/RHEL 8/CentOS 8
- lefred-san
- repository追加して最新のMySQL入れる方法の紹介
MySQL Random Password Generation
- Dave Stokes-san
- CREATE USER/ALTER USER時に
IDENTIFIED BY RANDOM PASSWORD
でランダムなパスワードを生成できるようになった - shellscriptからエスケープが必要だったりするので、英数字だけとかできないかなーと思っているがない。
-
- ichirin2501-san
- Mercari meetup for SRE Vol.2とdb tech showcase 2019でのichirinさんの発表に関する話
MySQL の 巨大な core ファイル 対策(~MySQL 5.7)
- mita2-san
- MySQL <= 5.7でcore fileを吐く方法の説明
- 17GBで22秒って早すぎない?って思ったんですが、普通ですか?
- 8.0の話は
innodb_buffer_pool_in_core_file = OFF;
ですかねw
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-10-21 ~ 2019-10-27)
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のみまとめます
Bug #???
- Nothing
Organization blogs
-
- MySQL Keyring now speaks Hashicorp Vault
- keyring-fileとしてファイルで暗号化キーを持つ代わりに、Hashicorp Vaultを使えるようになった
- MySQL 8.0.18のenterpriseのみ
- MySQL Keyring now speaks Hashicorp Vault
-
- Nothing
-
- MySQL Workbench Review
- ProxySQL 2.0.7 and proxysql-admin Tool Now Available
- 2.0.7が公開され、MariaDB 10.4がサポートされました
- 他
--with-stats-reset
の追加とbug fixが複数
SmartStyle TECH BLOG (category MySQL and Percona)
- Nothing
-
- Nothing
-
- Nothing
Personal blogs
- MySQL & InnoDB Disk Space
- lefred-san
- 日曜夜時点でサイトにアクセスできず。。。
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-10-14 ~ 2019-10-20)
MySQL Weeklyでは1週間ごとにMySQLのrelease-note, bug, official blog, organizationによるblog, 個人のblogをまとめ紹介しています。
更新は月曜 10時(AM)です。先週一週間のMySQL関連の更新を再確認するのにご活用ください。
また、このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
せっかくの8.0.18リリースの週ですが、体調不良で各種ブログは読めませんでした。
今週水曜日までにコメントを追加予定です。
追加しました。
Personal blogは今回はskipします。
Release note
(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)
8.0.18
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html
影響ありそうなものをピックアップ!!
- Account Management Notes
CREATE USER
,ALTER USER
,SET PASSWORD
でランダムなパスワードを生成してくれるIDENTIFIED BY RANDOM PASSWORD
が追加された- https://dev.mysql.com/doc/refman/8.0/en/password-management.html#random-password-generation
- Configuration Notes
- CMakeオプション等で変更
- wolfSSLをサポートしなくなりOpenSSLのみ
- Connection Control Notes
- server-clientのコネクションでzstdによる圧縮が可能になった
- https://dev.mysql.com/doc/refman/8.0/en/connection-compression-control.html
- Deprecation and Removal Notes
MYSQL_PWD
がdeprecateに指定された
- Keyring Notes
- HashiCorp Vaultの
keyring_hashicorp
プラグインが利用可能になった
- HashiCorp Vaultの
- Optimizer Notes
- Hash joinが実装された
- indexのないテーブルで等価条件でのjoinで有効
- optimizer switch, optimizer hintで有効無効をコントロール可能
- hash joinに使われるメモリサイズは
join_buffer_size
でコントロール可能 - メモリに乗り切らない場合は
open_file_limit
を調整する必要がある - hash joinされたかどうかは
explain format=tree
かexplain analyze
で確認可能 - 詳しくはHash Join Optimization
- EXPLAIN ANALYZEで、iterator-basedなtimingやコストなどの情報が取得可能になった
- 型が一致しないクエリでキャストオペレーションが入る
- 一時的な型(temporal types)と数値型の比較はDOUBLEとして、DATE, TIME, DATETIME同士での比較はDATETIMEとして暗黙的にキャストされる
- 例えば
SELECT * FROM t1 JOIN t2 ON t1.int_col = t2.date_col
このクエリはSELECT * FROM t1 JOIN t2 ON CAST(t1.int_col AS DOUBLE) = CAST(t2.date_col AS DOUBLE)
のように書き換えられる - これらのキャストがどのように起きたかはexplainで実行したあとに
show warnings
することで見ることができる
- Hash joinが実装された
- Packaging Notes
- Pluggable Authentication
- Spatial Data Support
- ST_Distance()がすべての地理情報型のSRS引数をサポート
- 詳しくはSpatial Relation Functions That Use Object Shapes
- sys Schema Notes
- sys.schema_unused_indexesからunque indexが排除される
- sys.ps_is_consumer_enabled()関数がNULLでない未知の値を渡されたときにerrorを返すように修正
- sys schemaが別のgit repositoryではなく、scripts/sys_schemaで管理されるようになった
- Functionality Added or Changed
innodb_idle_flush_pct
変数でアイドル時のpage flushを制御可能になった- これによってSSDの寿命を伸ばすことが狙い
- 詳しくはLimiting Buffer Flushing During Idle Periods
- group replicationへの改善
- TLSv1.3のサポート(MySQL Serverでは8.0.16からサポート)
group_replication_exit_state_action
でOFFLINE_MODEが指定可能になった
- PRIVILEGE_CHECKS_USERでreplication channelに流れてくるトランザクションに実行権限があるか確認可能
- relay log info logとmaster info logがdeprecatedになったので、relay_log_info_file system variableと、--master-info-fileオプションもdeprecatedに変更
- --slave-rows-search-algorithmsオプションと、slave_rows_search_algorithms変数がdeprecated
- WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()がdeprecatedにこれを利用している場合は
WAIT_FOR_EXECUTED_GTID_SET()
を使うように(failoevrなどで別のチャネルやクライアントから接続された場合にハングする可能性がある) - Protobuf librariesがdynamic linkされるようになった
- Bugs Fixed
- later
5.7.28
5.6.46
Bugs
基本的にMySQL Server, 5.7以上のbug fixのみまとめます
Bug #97185 Remove dead code from ST_SCHEMA_TABLE
Remove dead code from ST_SCHEMA_TABLE
ST_SCHEMA_TABLE
構造体がInformation Schemaのためにあるが、使われていない- 8.0.20で削除予定
Organization blogs
-
- The MySQL 8.0.18 Maintenance Release is Generally Available
- 8.0.18の新機能に関する説明をWLやbug number付きでリストアップ
- 例
- Hash joing WL
- EXPLAIN ANALYZE
- type cast
- control IOPS
- MySQL InnoDB Cluster – What’s new in Shell AdminAPI 8.0.18 release
- MySQL is OpenSSL-only now !
- 8.0かrYaSSLとWolfSSLがサポートされなくなり、OpenSSLのみをサポートするようになったよという話
- MySQL Shell 8.0.18 – What’s New?
- MySQL EXPLAIN ANALYZE
- EXPLAIN ANALYZEのサンプル付きの解説
- EXPLAINやEXPLAIN FORMAT=TREE との違いは実際に実行して、その時の情報を表示してくれる点
- 内部的な実行手順の他に以下が分かる
- 最初の行を取得するまでにかかった時間
- 全部の行を取得するまでにかかった時間
- 読みだした行数
- 特定の処理をloopした回数
- The MySQL 8.0.18 Maintenance Release is Generally Available
-
Replication with restricted privileges
- SQL_threadで適用するクエリをchannelベースで権限チェックする方法の説明
- 設定を確認するにはp_sのreplication_applier_configurationを見る
SELECT Channel_name, Privilege_checks_user FROM performance_schema.replication_applier_configuration;
Support for TLS 1.3 in Group Replication
- TLS1.3の設定方法の説明
Automatic member fencing with OFFLINE_MODE in Group Replication
- group replicationにおいて、mysqlは機能しないがclientからは接続できてしまう状況をoffline_modeでどのように制御するかを解説
Group Replication delivery message service
- service pluginのよってgroup replicationのメッセージサービスを利用する例の紹介
-
- Nothing
-
- Nothing
SmartStyle TECH BLOG (category MySQL and Percona)
- Nothing
-
- Nothing
-
- Nothing
Personal blogs
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)