はじめに
なんか僕らの大好きな(?)ニプンがMySQL AIについて紹介してたんで、じゃ、名前もアレだし、とりあえず手を出してみっか!と軽い気持ちで踏み込んでしまいました。
前提条件/必要要件
項目 | 内容 |
---|---|
サポートされる OS | Oracle Linux 8、Red Hat Enterprise Linux 8 |
ハードウェア要件 | CPU:32 論理/仮想コア以上、メモリ:128 GB、ストレージ:512 GB |
… |
はじめに
なんか僕らの大好きな(?)ニプンがMySQL AIについて紹介してたんで、じゃ、名前もアレだし、とりあえず手を出してみっか!と軽い気持ちで踏み込んでしまいました。
前提条件/必要要件
項目 | 内容 |
---|---|
サポートされる OS | Oracle Linux 8、Red Hat Enterprise Linux 8 |
ハードウェア要件 | CPU:32 論理/仮想コア以上、メモリ:128 GB、ストレージ:512 GB |
… |
日々の覚書: 最新のMySQL ShellだけでMySQLのPITR可能なバックアップを設定する(増分バックアップ編) の更に続き。
フェイルオーバー、ソース切り替えが起こって gtid_executed
が複数行になった時にどうなるのかを調べる。
昨日リストアした172.17.0.3 に更にsysbenchでちょっと更新をかけながらハートビートテーブルにも書かせていた。
mysql> SHOW BINARY LOG STATUS;
+---------------+----------+--------------+------------------+-------------------------------------------------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set …
[さらに読む]
MySQL解析:AI搭載CLIツールによる
本記事は https://anothermysqldba.blogspot.com/2025/07/mysql-analysis-with-ai-powered-cli-tool.html の翻訳版です。
MySQLのDBAとして、私たちはLinuxターミナルウィンドウでの作業が多いです。また、利用可能な無料オプションを好みます。この投稿では、ターミナルウィンドウにとどまりながらAI搭載ツールを使用できるアプローチを紹介します。他の直接AIプロバイダーを使用するよう更新することもできますが、この例ではaimlapi.comを使用するよう設定しました。これは、限定的な使用では無料で、より多くのテスト用には非常に低コストで複数のAIモデルをターミナルに提供するためです。
注:私はAIMLAPIの有料スポークスマンでも何でもありません - …
[さらに読む]日々の覚書: 最新のMySQL ShellだけでMySQLのPITR可能なバックアップを設定する(フルバックアップ編) の続き。
最初の1回は必ず since
または startFrom
の指定が必要。
$ mysqlsh --login-path=backup -h 172.17.0.2 --js -- util dumpBinlogs /path/to/binlog_backup
ERROR: ArgumentError: One of the 'since' or 'startFrom' options must be set because the destination directory '/path/to/binlog_backup' does not contain any dumps yet.
startFrom
は mysqlbinlog -R と同じようにバイナリログファイル名を指定する (
CHANGE REPLICATION SOURCE TO
と同じ仕組みなので、ファイルの絶対パスではなくて SHOW BINARY …
MySQL Shellには util.dumpInstance = フルバックアップと、9.2くらいから util.dumpBinlogs = 増分バックアップがあるので、ひょっとしたらMySQL ShellだけでPITR可能なバックアップをシンプルに設定できるのではないかと思った。
TL;DR
util.dumpBinlogs
は「前回吸い上げたバイナリログから増えたぶんだけをMySQLプロトコルで吸い上げてローカルFSに保管」することができる。初回のみ最初のバイナリログファイル名の指定が必要
mysqlbinlog --stop-never --raw -R
…私の個人活動、MySQL RP (Restore Performance) で、1つベンチマーク結果を十分改善しました。区切りが良いので簡単に報告だけ。
ベンチマークは、DimitriKさん ( http://dimitrik.free.fr/blog/ ) がメンテして公開している sysbench バイナリ & スクリプト BMK-kit ( http://dimitrik.free.fr/blog/posts/mysql-perf-bmk-kit.html ) でいうところの、sb11-OLTP_RO_10M_8tab-uniform-s_ranges1-Rsize100-SecIDX-notrx-socket.sh 相当で、
セカンダリ索引の100行スキャンで、索引カラム以外のデータを返すクエリ
…
[さらに読む]動的権限と静的権限
「動的権限は、従来の静的権限が細分化されたもの。静的権限を持っていれば、動的権限はREVOKEしても影響はない」と考えていました。 例えば、SUPER 権限 (静的) を持っていれば、BINLOG_ADMIN 権限 (動的) がなくとも、バイナリログをパージできます。
mysql> SHOW GRANTS; +-------------------------------------------+ | Grants for super@localhost | +-------------------------------------------+ | GRANT SUPER ON *.* TO `super`@`localhost` | +-------------------------------------------+ 1 row in set (0.00 sec) mysql> PURGE BINARY LOGS TO 'binlog.000008'; Query OK, 0 rows affected (0.01 sec)
しかし、SYSTEM_USER 権限は、静的権限では満たせない仕様がありました。
…
[さらに読む]2025年6月24日に開催された 『TechLION vol.41 〜コミュニティの終活〜』に呼んでいただき、出演者(登壇者)として参戦して参りました。 techlion.jp テーマが「コミュニティの終活」ということで、終わりかかっているような日本MySQLユーザ会に白羽の矢が立ったのだと思いますが、一応まだ日本MySQLユーザ会が終了するというプランはございませんので、その辺りを理解していただけましたら、この日お伝えしたかったことの半分は済んだようなものです。ということで残りの半分を・・・(と言って私の説明を開始しました(笑))。 YAPCさまさま 一緒に登壇した kobakenさん。YA…
rsync
シェルが必要(たとえば ~/.ssh/authorized_keys
で
mysqldの実効アカウントにログインできるとか)なので新規に採用は嫌な感じ。
それを飲めるなら候補の一つとしてアリな気はする。
帯域ネックなら -z
で圧縮をかけるとCPUを使いつつ転送に圧縮をかけられるが、転送後のファイルは圧縮されていない状態で現れるので保管を考えると更に圧縮する必要があって手間は手間。
binlog_transaction_compression
が有効なら最初から圧縮されているのでベター。
…
以前、以下のようなブログエントリを書いた。
MySQLの文字列比較セマンティクスは「空白埋め(PAD
SPACE)」(概ねUTF8以前)
書いた時点でタイトルは「MySQLの文字列比較セマンティクスは「空白埋め」」であり、その時点では正しかったが、最近では少し違ってきた。
例えばMySQL 8.0.x以降をLinuxにインストールした場合、過去のブログエントリのように'a'と'a
'は同一視されず、違うものと認識されるようになった。
mysql> select 'a' = 'a';
+-----------+
| 'a' = 'a' |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec)
mysql> select 'a' = 'a '; -- 'a' の後にスペースがあると同一視されない(!)
+------------+ …