いまさらですが、2023/5 に東京リージョンにやってきた MySQL HeatWave on AWS の試用を始めたので、メモ的に記録を残していきます。
2023/7/23 時点の情報です。 記事…
いまさらですが、2023/5 に東京リージョンにやってきた MySQL HeatWave on AWS の試用を始めたので、メモ的に記録を残していきます。
2023/7/23 時点の情報です。 記事…
4年ぶりの札幌現地開催 今年4月の東京開催を皮切りに、オープンソースカンファレンスもオフライン開催の動きが戻ってきました。 中止となった2020年は、交通機関や宿のキャンセルにてんやわんやだった記憶があります。キャンセル料なしで全額返ってきたりして、運輸も宿泊も大変だなぁと思っていました。 現時点でのOSCの開催形態は、以前とは異なり「ブース展示をオフラインでやりましょう」という流れになっています。セミナーの部は展示とは別の日にオンラインで開催。ブースでのコミュニケーションにOSCの魅力を感じている私にとってはセミナー併設でない展示のほうが、たくさんの人とお話ができるので嬉しいのですが、集客や…
OPTIMIZE TABLEを実行する代わりに、以下の様にALTER TABLEを実行するケースも多いと思います。
バックグラウンドでどの様に処理しているかを聞かれる事も多いのでこちらにメモしておきます。
alter table sbtest6 engine=InnoDB, ALGORITHM=INPLACE, LOCK=NONE;
OPTIMIZE TABLE中の一時テーブル処理
# stat city_sample1.ibd
File: ‘city_sample1.ibd’
Size: 5272240128 Blocks: 10297376 IO Block: 4096 regular file
Device: 10301h/66305d Inode: 96469157 Links: 1
Access: (0640/-rw-r-----) Uid: ( 995/ mysql) Gid: ( 1001/ mysql)
Access: 2023-04-21 22:33:34.264902911 +0000
Modify: 2023-04-21 23:27:00.503985634 +0000
Change: 2023-04-21 23:27:00.503985634 +0000
Birth: -
# /usr/local/mysql/bin/mysql -u root -p -e "optimize table shell.city_sample1"
Enter password: …
[さらに読む]
Analyze Tableがレプリケートされない様にNO_WRITE_TO_BINLOGオプションを付けた場合の
バイナリーログの確認。殆どのケースで参照側でAnalyzeが実行されても問題は無いと思うが、
サンプリングのオーバーヘッドが無い訳ではないので、念のためのオプションとして。
By default, the server writes ANALYZE TABLE statements to the binary log so that they replicate to replicas. To suppress logging, specify the optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.
13.7.3.1 ANALYZE TABLE Statement
マスターログの確認
mysql> show master status;
+----------------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | …
[さらに読む]
TL;DR
パッチはこれだけ。
$ diff ./sql/sys_vars.cc.orig ./sql/sys_vars.cc
5196a5197,5204
> // NO_CMD_LINE - different name of the option
> static Sys_var_transaction_isolation Sys_tx_isolation(
> "tx_isolation", "Default transaction isolation level."
> "This variable is deprecated and will be removed in a future release.",
> UNTRACKED_DEFAULT SESSION_VAR(transaction_isolation), NO_CMD_LINE,
> tx_isolation_names, DEFAULT(ISO_REPEATABLE_READ), NO_MUTEX_GUARD,
> NOT_IN_BINLOG, ON_CHECK(check_transaction_isolation));
>
両方使える ( tx_isolation
がdeprecatedで
transaction_isolation
が推奨 ) MySQL 5.7.42の記述はこんな感じ。
…
[さらに読む]TL;DR
mysql80 65> CREATE TABLE t11 (dt DATETIME);
Query OK, 0 rows affected (0.14 sec)
mysql80 65> INSERT INTO t11 VALUES (NOW());
Query OK, 1 row affected (0.05 sec)
mysql80 65> SELECT * FROM t11;
+---------------------+
| dt |
+---------------------+
| 2023-05-04 06:23:00 |
+---------------------+
1 row in set (0.01 sec)
この時刻との差が(整数の)秒が欲しいからと言って、
mysql80 65> SELECT NOW(), dt, NOW() - dt FROM t11;
+---------------------+---------------------+------------+
| NOW() | dt | NOW() - dt |
+---------------------+---------------------+------------+
| 2023-05-04 …
[さらに読む]