Update for last week (2019-07-01 ~ 2019-07-07)
日曜日にこの記事を書くことが多いので、日曜更新をやめて、今回以降月曜日10時ごろ更新にしました。
月曜日に先週一週間のMySQL関連の更新を再確認するのにご活用ください。
Release note
(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)
- Nothing
Bugs
serverity >= S5(Performance)
でupdatedでdesc sort、結果の今週分を見る
Bug #96112
"SELECT x WHERE y ORDER BY x LIMIT 1" faster than "SELECT MIN(x) WHERE y"
- Severity: S5(Performance), status: Open
SELECT x WHERE y ORDER BY x LIMIT 1
がSELECT MIN(x) WHERE y
よりも簡単に早くなるという報告。- 例ではxをPKにしてもそうなるといっていて、確かにPKが昇順に並んでいるので、どちらのクエリもPKの先頭からたどってyを満たすレコードを返せば良い。
- 報告者のサンプルでのExplainの結果にはMIN(x)を使った方ではPKアクセスができていないことがわかる。
- さらに
show status like '%handler%'
でHander_read_rnd_nextがレコード数分アクセスしたことも確認している。 - Explainからテーブルアクセスになっていることは十分わかるけど、Hander_hogeの有効な使い方の例として面白い
Organization blogs
- MySQL server blog: https://mysqlserverteam.com/
- Nothing
- Percona blog (MySQL): https://www.percona.com/blog/
- Fixing a MySQL 1045 Error
- Error 1045の原因を解説している(大抵はpasswdの入力ミスだけど、あえていうなら、、、)
- (以下記事から理由だけ抜粋)
- Connecting to wrong host
- User does not exist
- User exists but client host does not have permission to connect
- Password is wrong, or the user forgot his password
- Special characters in the password being converted by Bash
- SSL is required but the client is not using it
- PAM backend not working
- Error 1045の原因を解説している(大抵はpasswdの入力ミスだけど、あえていうなら、、、)
- Percona Server for MySQL Highlights – binlog_space_limit
- Percona Server for MySQLに対する改善の紹介
- 小さめの変更であまり知られていないけれど有用なものを紹介していくらしい。期待。
- 今回はbinlogのexpireをbinlogのために利用しているディスクサイズによってもpurgeする昨日の紹介
- expire_logs_days(8.0ではbinlog_expire_logs_seconds)ではbinlogによるディスクサイズの容量を決めることはできないので、disk fullの対策として使えるらしい。
- (感想) 割とそこはPITRできるようにするのが重要で、disk fullを回避するためにbinlog消すのはだめなのでは?
- disk sizeのアラート閾値を余裕をもって調整して、PITRできる範囲で管理したほうが良さそう。そして今後はbinlog_expire_logs_secondsの粒度なら充分対応できそう
- Percona Live 2019’s Top 10 Highest-Rated Talks
- 前回の記事で同じようなTop10記事がありましたが、あれは発表部屋に入った人の人数のランキングでした。(部屋によって入れる人数が大きく異なるので、小さい部屋はそもそも人が入れなかったりする)
- おそらくPercona Live 2019専用アプリから投票を募集した結果からランキングを算出したのだと思う
- ちゃんとFBの発表もランクインしていた
- ランキング上位の発表が動画公開されていてありがたい
- MySQL to the Cloud! Thoughts on Migrating Away from On-Premise
- Cloud service(or DBaaS)にDBを移行する際のプロセスをざっくり説明している
- DBaaSをがfitする例として最初に
Simple schema
があるのうける。複雑なものは厳しいのだろうか?
- ALTERS, Foreign Keys, and Metadata Locks, oh my!
- 外部キー制約(以降FK)のあるテーブルで
ALTER TABLE
すると親のテーブルにSHARED UPGRADEABLE
なメタデータロックが掛かり、それよりwrite系のクエリが取得するロックの優先度が高いから、ALTER TABLE
がいつまでも実行されないケースがある - 詳しくは記事にて
- 解決策としてはONLINEで変更可能な
max_write_lock_count
(https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_write_lock_count)を使う。 - これはichirin2501さんのシャドーロックのスライドで見たやつな気がすると思ったけど、こちらはFKがあるテーブルに対するinsert時に親テーブルに共有ロックがかかるという現象だった
- 外部キー制約(以降FK)のあるテーブルで
- Setting World-Writable File Permissions Prior to Preparing the Backup Can Break It
- ファイルの権限管理はきちんとしようね(777にしない)という話
- 777になっているとxtrabackupが権限がゆるすぎるファイル(文中ではmy.cnf)を覗いてバックアップを取得するので、ibdファイルが暗号化されていることに復元時に気づけずに詰むことがある
- Fixing a MySQL 1045 Error
- MySQL道普請: https://gihyo.jp/dev/serial/01/mysql-road-construction-news
- 第100回 「MySQL道普請便り」と探るMySQLの進化
- MySQL道普請ついに100回!!
- サンプルで使われたMySQLバージョン、道普請内のタグで振り返るMySQLとMySQL道普請のまとめ
- gihyo.jp MySQL-tag
- 第47回 MySQL for Excelのご紹介,PostgreSQL 12ベータ版登場
- 2019年6月のMySQL製品のアップデートとしてMySQL for Excel 1.3.8
- 機能の説明に
ExcelのデータをMySQLサーバーにエクスポートできるほか,インポートしたデータを編集すると自動的にMySQLサーバーに反映させることも可能
とあって驚き。
- 第47回 MySQL for Excelのご紹介,PostgreSQL 12ベータ版登場
- Yakst MySQL-tag: https://yakst.com/ja/tags/mysql
- Nothing
Personal blogs
通知がいってしまうこともあるので、個人のブログのURLを列挙するのはやめました
更新があったものだけとリストアップします
- tom__bo:
- MySQL Weekly 始めました
- このブログを開始したという告知です
- Personal blogsはここのリストにあるものを毎週確認する予定です。
- 個人のブログのURLを乗せると通知を毎週送ることになってしまうので、更新があったものだけを貼るようにしたため
- MySQL Weekly 始めました