2025年10月4日に新潟市で開催されたオープンソースカンファレンス2025新潟(OSC2025 Niigata)に参加してきました。ospn.connpass.com 新潟のOSCは、長岡市と新潟市で交互に開催していて、今年は2年ぶりに新潟市の番。 いつもの新潟駅から徒歩圏内にある公共施設の予約がとれなかったとのことで、古町のほう(本町)にある新潟国際情報大学新潟中央キャンパスさんをお借りしての開催となりました。ホテルも当然そちら方面に。 なかなか訪れる機会のない古町の路地を歩き回る機会にもなり、普段の駅前とは違った「もうひとつの新潟」を体験できたように思います。 OSC新潟とは何なのか 金…
日々の覚書: 最新の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…
-
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' の後にスペースがあると同一視されない(!)
+------------+ …
TL;DR
- http://repo.mysql.com/yum/mysql-5.7-community/el/7/SRPMS/ からSRPMファイルを持ってきてrpmbuildするのが一番楽
MySQL Product Archives で見たら、MySQL 5.7はOracle Linux(に限らずRHEL系の)8に対応したrpmはなかった。けど欲しい。
というわけで(el7用のrpmファイルでも動くような気はするけど一応) Oracle Linuxのコンテナイメージ の中でrpmbuildするメモ。
# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/SRPMS/mysql-community-5.7.44-1.el7.src.rpm
# rpm -i …[さらに読む]
- タイトルは セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor | PPT のオマージュです
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
from do_aki
-
mysql_config_editor は
--password, -pだけは引数を受け付けられなくて、常にプロンプトでパスワードを要求する- …