>100 Views
February 25, 25
スライド概要
HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進
HeatWavejp Meetup #04 MySQL HeatWave 最新アップデート情報 2023年10月12日(木) 株式会社スマートスタイル Copyright © 2023 HeatWavejp All Rights Reserved.
アジェンダ 1. OCI リリースノートから主要リリース情報のピックアップ (2023/8 ~ 2023/10/12) Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) Oracle Cloud Infrastructure Release Notes : https://docs.oracle.com/en-us/iaas/releasenotes/services/mysql-database/ Heatwave on AWS Release Notes : https://dev.mysql.com/doc/heatwave-aws/en/heatwave-aws-relnotes.html サマリー 2023.8.8 HeatWave on AWS :データストレージサイズのオンライン拡張が実装 2023.8.14 MySQL HeatWave : 遅延レプリケーションを使用したチャネルと主キーの生成オプションが実装 2023.8.15 MySQL HeatWave : 監査プラグインが実装 2023.10.6 MySQL HeatWave : 読み取りレプリカの選択項目(シェイプ、バージョン)の追加 Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) データストレージサイズのオンライン拡張 • ストレージサイズを増やす際に DB システムの再起動が不要 ✓ 6 時間に 1 回しか実行できない ✓ 増加のみで減少は対応していない • バックアップからリストアする際にも、ストレージサイズを増やして新しい DB システムを作成することが可能 • 増加中もクエリの実行が可能 Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) 遅延レプリケーションを使用したチャネルと主キーの生成オプション • インバウンドレプリケーション用のオプションに以下の 2 つが追加 ✓ 主キーの生成(GENERATE_IMPLICIT_PRIMARY_KEY) ✓ レプリケーション遅延 Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) 遅延レプリケーションを使用したチャネルと主キーの生成オプション ✓ 主キーの生成(GENERATE_IMPLICIT_PRIMARY_KEY) • 主キーのないテーブルを作成した際にレプリカ側で自動的に不可視の主キー(※)が作成 ※ https://dev.mysql.com/doc/refman/8.0/en/create-table-gipks.html • レプリカ側では REQUIRE_TABLE_PRIMARY_KEY_CHECK = GENERATE に設定 ✓ レプリケーション遅延 • 遅延レプリケーション(※)が有効 ※ https://dev.mysql.com/doc/refman/8.0/ja/replication-delayed.html mysql> SELECT * FROM performance_schema.replication_applier_configuration¥G *************************** 1. row *************************** CHANNEL_NAME: replication_channel DESIRED_DELAY: 15 PRIVILEGE_CHECKS_USER: 'admin'@'%' REQUIRE_ROW_FORMAT: YES REQUIRE_TABLE_PRIMARY_KEY_CHECK: GENERATE ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_TYPE: OFF ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_VALUE: NULL Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~)
監査プラグイン(Audit Plugin)
• MySQL Enterprise Audit プラグイン()が利用可能
• デフォルトでは無効になっているので有効にする必要がある
https://dev.mysql.com/doc/refman/8.0/ja/audit-log-filtering.html
[すべてのユーザーのすべての監査可能イベントを出力]
mysql> SELECT audit_log_filter_set_filter('log_all', '{ "filter": { "log": true } }');
• デフォルトから変更されているシステム変数は以下の通り(変更不可):
Variable_name
Value
Default Value
audit_log_buffer_size
10M
1M
audit_log_compression
GZIP
NONE
audit_log_database
mysql_audit
mysql
audit_log_file
/db/audit/audit.log
[datadir]/audit.log
audit_log_flush_interval_seconds
60
0
audit_log_format
JSON
NEW
audit_log_format_unix_timestamp
ON
OFF
audit_log_max_size
5G
0
audit_log_prune_seconds
7days(604800)
0
audit_log_rotate_on_size
50M
0
Copyright © 2023 HeatWavejp All Rights Reserved.
※ https://dev.mysql.com/doc/refman/8.0/en/audit-log-reference.html
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~)
監査プラグイン(Audit Plugin)
• イベントを表形式で出力するコマンド例:
SELECT @@server_uuid as server_uuid, ts, class, event, login_ip,login_user,connection_id,
status,connection_type,_client_name,_client_version, command,sql_command,command_status
FROM
JSON_TABLE
(
AUDIT_LOG_READ( '{ "start": {¥"timestamp¥": ¥"2023-08-16 15:33:37¥"}, ¥"max_array_length¥": 10 }' ), '$[*]'
COLUMNS
(
ts TIMESTAMP PATH '$.timestamp', class VARCHAR(20) PATH '$.class',
event VARCHAR(80) PATH '$.event',
login_ip VARCHAR(200) PATH '$.login.ip',
login_user VARCHAR(200) PATH '$.login.user', connection_id VARCHAR(80) PATH '$.connection_id',
status INT PATH '$.connection_data.status', connection_type VARCHAR(40) PATH '$.connection_data.connection_type',
_client_name VARCHAR(80) PATH '$.connection_data.connection_attributes._client_name', _client_version VARCHAR(80) PATH
'$.connection_data.connection_attributes._client_version', command VARCHAR(40) PATH '$.general_data.command',
sql_command VARCHAR(40) PATH '$.general_data.sql_command', command_status VARCHAR(40) PATH '$.general_data.status'
)) as audit_log;
+(...)+------------------------+-------------+-------------+-----------+------------+----------------+(...)
|(...)| ts
| class
| event
| login_ip | login_user | connection_id |(...)
+(...)+------------------------+-------------+-------------+-----------+------------+----------------+(...)
(...)
(...)
|(...)| 2023-10-10 08:15:57 | connection | disconnect | 10.0.0.3 | admin
| 489
|(...)
|(...)| NULL
| NULL
| NULL
| NULL
| NULL
| NULL
|(...)
+(...)+------------------------+------------+-------------+------------+------------+----------------+(...)
※ https://docs.oracle.com/en-us/iaas/mysql-database/doc/mysql-server.html#GUID-31305165-65B5-4A2A-9EE7-5CEC821C5CB9
Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) 読み取りレプリカの選択項目の追加 • 読み取りレプリカを作成する際に選択できる項目として以下が追加 ✓ シェイプ ✓ バージョン Copyright © 2023 HeatWavejp All Rights Reserved.
1. OCI リリースノートから主要リリース情報のピックアップ (2023/8月~) 読み取りレプリカの選択項目の追加 ✓ シェイプ • 読み取りレプリカのシェイプを自由に選択・変更することが可能 ※ ソースも含めて、4OCPU 以上ないと読み取りレプリカを作成できないので注意 ✓ バージョン • ソースと互換性のあるバージョンを自由に選択・変更することが可能 Copyright © 2023 HeatWavejp All Rights Reserved.
Copyright © 2023 HeatWavejp All Rights Reserved.