Update for last week (2019-12-16~ 2019-12-22)
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 #97967 Empty resultset for subquery with union and text column with constant expression
- 8.0.18でサブクエリの結果セットに
text
のカラムがあり、かつunionでconstant expression
の結果がfalse(空)になる場合にクエリ全体の結果が空になるというバグ - 報告者によると8.0.16までは正しく動作する
- バグレポート内で開発者による回答 => 8.0.20で直る予定
Organization blogs
-
- Antijoin in MySQL 8
- 8.0.17で入った
antijoin
に関する解説 - antijoinによってTPC-Hの一部のクエリが8.0.16に比べて20%早く実行できるようになった
- (同ブログ内より引用)
NOT IN (subquery), NOT EXISTS (subquery), IN (subquery) IS NOT TRUE, or EXISTS (subquery) IS NOT TRUE
をサブクエリではなくantijoinとして実行する - 内部的には
First Match
とMaterialization
戦略の2つをコスト計算によって選択するので、テーブルの状況を見て早い戦略で実行できる
- 8.0.17で入った
- Antijoin in MySQL 8
-
- Nothing
-
- Updated XtraDB Cluster, XtraBackup, Percona Servers, New Features in Kubernetes Operator: Release Roundup 12/17/2019
- 12/2~12/17にあったxtrabackup関連ツールのまとめ
- シンプルなMySQL Serverをバックアップ対象とするならPercona XtraBackup 2.4.18, 8.0.19
- Give Love to Your SSDs – Reduce innodb_io_capacity_max!
innodb_io_capacity
,innodb_io_capacity_max
をDiskのwrite capacityに設定するので良いのか?という考察記事innodb_io_capacity(_max)
の説明と、これらを異常に高く設定した場合の問題点, diskの書き込みcapacityについて整理されている。- (感想)この記事を読むことでこれらの設定を高くすればよいわけではないのは分かるが適切な値がどれくらいかについてはより知識がいることがわかる。Adaptive flushingに関する記事が準備中らしいので期待
- Q & A on Webinar “Introduction to MySQL Query Tuning for DevOps”
- 12/5に行われた"Introduction to MySQL Query Tuning for DevOps"というwebinarのQ&A記事
- 特に最初の質問に対するindexの確認方法、統計情報, optimizer_traceの確認までは参考になる
- The Benefits of Amazon RDS for MySQL
- MySQL Encryption: Master Key Encryption in InnoDB
- InnoDBのTDEに使われるMaster Key, TableSpace Keyの関係と内部を説明
- Contention in MySQL InnoDB: Useful Info From the Semaphores Section
SHOW ENGINE INNODB STATUS
のSEMAPHORES
セクションの結果からversionやロックをとっているコードを見つけ実際に周辺のコードを読むまでの方法を説明
- Updated XtraDB Cluster, XtraBackup, Percona Servers, New Features in Kubernetes Operator: Release Roundup 12/17/2019
SmartStyle TECH BLOG (category MySQL)
-
- Nothing
Personal blogs
- preFOSDEM 2020 MySQL Days: the schedule
- lefred-san
- preFOSDEM Dayのスケジュールが公開されたよ、という紹介と概要
- MySQLのDROP DATABASEでWARNINGが表示されない事象
- sakaik-san
DROP DATABASE ...
でWARNINGが表示されない現象の調査報告- すでに数年前からbug reportが上がっているが、まだ直っていない(
まぁ重要度が低いと考えられているのか、4年たっても直す気配がない様子ですね。
)とのこと
-
- mita2-san
- タイトル通り, Historyに記録されない条件をソースから確認し、
MYSQL_HISTIGNORE
を試す
-
- mita2-san
- planeなCentOS7にMySQLをインストールする手順のコマンド例付き紹介
MySQL 2019 Advent Calendar
- MySQLのHELP構文ってやつ
- day 16
- lhfukamachi-san
- HELP構文による構文の調べ方の紹介
- MySQL Consistency 論考
- sysbench 1.0を使ってみよう
- day 18
- hiroi10-san
- sysbench 1.0の使い方や実際に実行されるクエリの解説
- オプション自体の説明から物理的な環境への影響まで考慮されている
- 僕の好きな TEMPORARY TABLE
- day 19
- kamedono-san
- TEMPORARY TABLEの作り方や使い方の紹介
- 【MySQL】エイリアスを使える句について
- day 20
- yukibe-san
GROUP BY
,ORDER BY
で別名(Alias)が使えるかどうかの整理
- 未upload
- day 21
- " _ " or " % " - Which is faster? (Like predicate in MySQL's sql)
- day 22
- next4us-san
- あいまい検索時における"_"と"%"の速度の差を検証
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-12-09~ 2019-12-15)
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
-
- Nothing
-
- Nothing
-
- MySQL Encryption: Talking About Keyrings
- TDEに利用されるKeyringの目的や役割の概要の説明
- MySQL Encryption: Talking About Keyrings
-
- Nothing
SmartStyle TECH BLOG (category MySQL and Percona)
- Nothing
GREE Engineer's Blog (MySQL関連)
- Nothing
-
- Nothing
Personal blogs
- Upgrading from MySQL 5.7 to 8.0 on Windows
- MySQL GTID: restore a master from a replica’s backup
- lefred-san
- GTIDを使ったレプリケーションでActive Masterが死んでFailoverが発生した場合の状況の整理
- binlogが循環してしまうことを避けるための仕組みによって、旧Master復旧後にデータの欠損が出てしまう可能性とその対策を説明
- MySQL 8.0 and Magento
- lefred-san
- MySQL8.0をバックエンドにするMagentoを構築するときのtips紹介
- (MagentはECプラットフォームらしい)
-
- lefred-san
- PHP7.4ではdefault authentication pluginのcaching_sha2_passwordに対応した様子
MySQL 8.0時代のSET GLOBALとかSET PERSISTに必要な権限
- yoku0825-san
- オンラインでVariablesを変更する際に必要な権限の整理
- そろそろ、ただ
SUPER
をつけておけばOKという管理を変更する必要があることがわかる
MySQL Advent Calendar 2019
- Dive into Binary logs
- day 9
- tom__bo
- binary logをパースするツールを作る過程で調べたbinlogの中身についてまとめました
- Alibaba Cloud の POLARDB を試してみる(5)MySQL 8.0 互換版でパラレルクエリ(2)
- day 10
- hmatsu47-san
- collationを変えてパラレルクエリによる高速化の程度を検証
- mysqldumpがFLUSH TABLESでタイムアウトしたので調べた話
- day 11
- kenken0807-san
--masterdata=N
をつけたmysqldumpでタイムアウトが発生する原因とその対策
- 初心者が押さえておくべきSQLガイド
- B'zを検索できるようになるまで
- day 13
- vukujin-san
- InnoDBのFTSでB'zを検索できるようになるまでの試行錯誤
- 記号が無視されることや特定条件で検索にかからなくなるバグなどの情報がわかりやすい
- MySQL - 自作ストレージエンジンで初音ミクさんに歌っていただきましょう
- day 14
- miyakelp-san
- ポケットミクというデバイスへ命令を送るストレージエンジンを自作
- MySQL5.5からMySQL8.0にマイグレーションしたゆるい話
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
Update for last week (2019-12-02~ 2019-12-08)
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
-
- Percona XtraBackup 8.0.8, Percona Server for MongoDB 3.6.15-3.5: Release Roundup 12/2/2019
- XtraBackup 8.0.8がリリースされた告知
- PXB 8.0のlog archiving機能とMyRocks Storage engineのrenewable checkpointの対応がメイン
- この他
--backup-lock-timeout
と--backup-lock-retry-cout
オプションが追加された
- Percona Live 2020: Call For Papers
- Percona XtraBackup 8.0.8, Percona Server for MongoDB 3.6.15-3.5: Release Roundup 12/2/2019
-
- 第111回 MySQLのソート処理について
- MySQL5.6で追加されたソート方式とそれ以前のソート方式の違いの説明
- ソート方式の違いとLIMIT句による最適化をoptimizer_traceによって確認する方法の紹介
- 第111回 MySQLのソート処理について
SmartStyle TECH BLOG (category MySQL and Percona)
- MySQL 8.0.18 new features roundup!
- 8.0.18の新機能の紹介
- RANDOM_PASSWORD
- HASH JOIN & EXPLAIN ANALYZE
- Group Replicationにおける終了アクションにOFFLINE_MODEが追加
- 新機能を今一度確認するにはとても参考になる
- 8.0.18の新機能の紹介
- MySQL 8.0.18 new features roundup!
GREE Engineer's Blog (MySQL関連)
- Nothing
-
- Nothing
Personal blogs
- pre-FOSDEM MySQL Days 2020: registration is now open !
- lefred-san
- FOSDEM 2020(来年2月)の前に開催される pre-FOSDEM MySQL Daysの登録が始まった告知
- ConoHaの上でひたすらMySQLをビルドする簡単なおしごと in 2019年
- 経度一度はどれくらいの長さ?MySQLをつかって調べてみよう
- MySQL Technology cafe #6 でMySQLのGISの話をしてきました
- 解決:高緯度ほど緯度1度が広くなる謎
- InnoDB FTSで検索できない文字があるときは innodb_ft_enable_stopword のせいかも
- mita2-san
- innodb_ft_enable_stopword = onの挙動に関する説明
- (感想)冒頭にある'yakitori'から'tori'が検索できなくなる理由を見るとほとんどのワードが想定通りに検索できない気が、、、
Advent Calendar's
今回からAdvent Calendar文を別枠で紹介します。
- MySQLクライアントでの非同期処理概略
- Alibaba Cloud の POLARDB を試してみる(3)MySQL 8.0 互換版でパラレルクエリを試す
- day 3, hmatsu47-san
- Alibaba cloudの ApsaraDB for POLARDB MySQL 8.0 互換版でパラレルクエリの検証
- (感想) 注意点の部分は
適用されない
ではなく、パフォーマンス向上できないが正しいかも。referされているドキュメント をみるとParallel query cannot improve performance in the following situations:
と言っている。CPUコア以上のparallel threadsだと、、、の部分が気になったので見てみました
- MySQL Parameters を拡張した
- MySQL8.0 の CLONE プラグインで色々試してみる
- day 5, kakuka4430-san
- CLONEプラグインを使った検証
- CLONE中に設定変更をして適用されるかなど結構アグレッシブな検証もされています
- ポケモンマスター入門(データベース設計
- day 6, Shino3-san
- ポケモンの情報のマスタテーブルを設計する話
- Mroonga から InnoDB FTS への乗り換えを考えてみた
- day 7, mita2-san
- MroongaからInnoDB FTSに乗り換える方法と双方のメリットの整理
TokenBigramSplitSymbolAlphaDigit をつかっているケースでは、InnoDB FTS の ngram と同一の結果になることが確認できました
このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)
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歓迎です。(完全に同期できているわけではありません)