Quantcast
Browsing all 581 articles
Browse latest View live

MySQLだけでWindow関数を使って@rowとか使わずに95%ileを計算したい

やり方があってるかどうかわからないので違ってたら教えてほしい。サンプルデータこんな感じ。mysql80 209534> SELECT * FROM t1 LIMIT 3;+---------------------+-----------+| dt | rows_read |+---------------------+-----------+| 2022-05-31 17:16:00 | 0...

View Article


MySQLが勝手に作るファイルのパーミッションを指定する

 TL;DRUMASK 環境変数で制御するMySQL :: MySQL 8.0 リファレンスマニュアル :: B.3.3.1 ファイル権限の問題ファイルであれば最小パーミッションは 0600, ディレクトリであれば 0710 の値になるMySQL :: MySQL 8.0 リファレンスマニュアル :: 4.9...

View Article


DROP TABLEがどれくらいその他のトラフィックに影響を与えるか……を、手元で測る方法

 TL;DRsysbenchでDROP用のテーブルと、その他トラフィック用のテーブルをprepareしてsysbench runしながらDROP TABLEするだけsysbenchは無ければインストール(CentOS 7.xだとepelに入ってる)$ sudo yum install -y sysbenchベンチ先がMySQL 8.0の場合、...

View Article

どうしてもSELECT COUNT(*) せずに正しいレコードの数を数えたい(が、そんなに都合の良いことはなかった)

 TL;DRinnochecksumを使って強引に数えてみたこんなことをするくらいならおとなしくCOUNT(*) した方がマシSHOW TABLE STATUS や information_schema.tables は統計情報ベースなので正確な値ではない、でも COUNT(*) はしたくない、という時。mysql> SHOW TABLE STATUS LIKE...

View Article

mysql_use_result(サーバーサイドバッファリング) vs. history list length

TL;DRトランザクション分離レベルがたとえREAD-UNCOMMITTEDだとしても、クエリの実行中はhistory list lengthは伸びていくREPEATABLE-READ .. トランザクション中はundo recordをパージできないREAD-COMMITTED, READ-UNCOMMITTED .. クエリの実行中はundo recordをパージできないところで、...

View Article


xtrabackup 8.0.29とINSTANT COLUMNと

 TL;DRPercona XtraBackup 8.0.29 and INSTANT ADD/DROP Columns - Percona Database Performance Blog がほぼ全てxb 8.0.29でMySQL 8.0.29のバックアップを取ろうとした時に、1つでもINSTANT COLUMN(ADDまたはDROP)が存在するとエラーになる $ xtrabackup...

View Article

MySQLのシノニムではないけど同じような動きをする何か(と、SHOW SLAVE STATUSとSHOW REPLICA STATUSの地味な違い)

TL;DR同じ動作をするけどシノニムではない何かを思いつく限りSee also, MySQLのシノニム - tmtms のメモ and MySQL: desc は explain !? - sakaikの日々雑感~(T)編実装上はシノニムになっていないけれど、同じ(ような)動きをする何かたち。その1その2扱いMASTER, SLAVE系SOURCE,...

View Article

LINE Developer Meetup #73 - MySQL とわたし

 LINE Developer Meetup #73 - MySQL - connpass に参加してきました。私のトークの資料はこちらで、公開されているアーカイブ動画はこちらです。ハッシュタグもまとめてみました。LINE Developer Meetup #73 - MySQL ハッシュタグ拾い - Togetterここから先はポエムです。今回、 “日本MySQLユーザ会のyoku0825”...

View Article


Re: 続・歯抜けを埋めるSQL(10万件編)

この記事は続・歯抜けを埋めるSQL(10万件編) - sakaikの日々雑感~(T)編への「俺ならこうひねるかな」版です。やってることは坂井さんと大して変わっていませんが、方向性が結構違うのが面白いのでメモしておきます。というかSQLだけでやっていないのでタイトルに反しています()坂井さんの手法でやった時の所要時間はこんなものでした。290ms。mysql80 237> SET...

View Article


replica_parallel_workers > 1 && replica_preserve_commit_order=ON &&...

TL;DRMySQL Bugs: #89229: FLUSH PRIVILEGES may cause MTS deadlockを踏んだ再現方法。8.0.19でレプリケーション設定をしたMySQLを用意する(8.0.28では再現しなかった。5.7.39でも今のところ再現していない)$ make_replication_sandbox --how_many_slaves=1 8.0.19$ cd...

View Article

PKの無いテーブルに、後からAUTO_INCREMENT PRIMARY KEYなカラムを足すときの罠

TL;DRInnoDBの暗黙の行IDはテーブルにINSERTした順番で払い出されるソースでは並列で走ると、INSERTした順番がCOMMITした順番とは限らないレプリカではMulti Thread Applierを使っていない限り、COMMITした順番にINSERTがされるよってソースとレプリカでは暗黙の行IDがズレることがある【2022/08/25...

View Article

MySQL on Windowsで8.0.20とそれ以降のmysqld.exeが--skip-grant-tablesでクラッシュすることがある

TL;DRパラメーターの組み合わせを間違えた場合、本来Abortして起動しないもの(ここまでは意図的)がAbortの処理に失敗してクラッシュする“Not a Bug”, 仕様だということらしいので、気にせず正しい組み合わせで起動してやれば良いだけのはずMySQL Bugs: #108304: mysqld.exe crashes --skip-grant-tables without...

View Article

MySQL 8.0.30でもrpl_semi_sync_master_enabledとrpl_semi_sync_source_enabledは同じものではない

TL;DRrpl_semi_sync_master_enabledは semisync_master.so由来で rpl_semi_sync_source_eanbledは semisync_source.so由来他のMaster/Source系と違って、MySQLサーバーの中で丸められているわけではなく、 INSTALL PLUGINした時にどちらを入れたかに依存する日々の覚書:...

View Article


MySQLは実はWindowsのdatadirをそのままLinuxに持って行っても動く(8.0では一ひねり必要)

タイトルがすべて。MySQL 5.7.39をWindowsでinitializeして起動。PS > bin\mysqld --initialize-insecuremysqld: Could not create or access the registry key needed for the MySQL applicationto log to the Windows EventLog....

View Article

Image may be NSFW.
Clik here to view.

MySQL闇歴史2 MySQLの製品版にRENAME DATABASEはあったことがない

この記事は MySQL闇歴史のカレンダー | Advent Calendar 2022 - Qiitaの2枚目の7日目の記事です。知名度:★★☆☆☆闇度 :★☆☆☆☆日本語ドキュメントは参考程度に度:★★★★☆TL;DR5~6年以上前にDBAやサポートをやっている人は「 RENAME DATABASEでできません?」みたいなことを言われたことはないでしょうか。あるいは、「 RENAME...

View Article


また今年もConoHaの上でMySQLをビルドする季節がやってきた

この記事は ConoHaのカレンダー | Advent Calendar 2022 - Qiitaの9日目の記事で、 MySQLのカレンダー | Advent Calendar 2022 - Qiitaの9日目の記事でもあります。去年は失敗したCentOS 9 Streamでのビルドを今年は成功させました。2016年 日々の覚書: MySQLのビルド環境にConoHaを選んでいる理由2017年...

View Article

Re: MySQL 5.6.9のmysqlクライアントがujis, sjis, cp932で落ちる(5.6.12で修正)

この記事は MySQL闇歴史のカレンダー | Advent Calendar 2022 の2枚目の14日目の記事です。TL;DRMySQL 5.6のGA(5.6.10)直後にあったmysqlコマンドラインクライアントのバグの話MySQL Bugs: #68107: mysql client with --default-character-set=ujis crashesが全てだし日々の覚書:...

View Article


Image may be NSFW.
Clik here to view.

ST_FIELD_INFO の順番がやっと何のことだか理解したはなし

このエントリは MySQL Advent Calendar 2022の17日目の記事です。TL;DRSource Code...

View Article

Image may be NSFW.
Clik here to view.

見えるバグレポート、見えないバグレポート、そもそもbugs.mysql.comじゃないバグレポート

この記事は MySQL闇歴史 Advent Calendar 2022の2枚目の19日目です。知名度:★★☆☆☆闇度...

View Article

インデックス vs InnoDBログ書き込みのサイズ観測

TL;DRセカンダリーキーは意外とログ書き込みに響く。無駄なやつをなるべく消したりマージできたりするといいかも。ナチュラルキーを使うのは書き込み面では誤差か。読み取りで差が出るといいなと思うけれど今日はやらない。tablesizesize_vs_t1lsnlsn_vs_t1commentt113,631,4881.0031,977,6821.00auto_increment PK + 0...

View Article
Browsing all 581 articles
Browse latest View live