1967 件中 1 - 10 件を表示
次の 10 件 »
Displaying posts with tag: MySQL (reset)
最新のMySQL ShellだけでMySQLのPITR可能なバックアップを設定する(実践編)

日々の覚書: 最新の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ツールによる

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可能なバックアップを設定する(増分バックアップ編)

日々の覚書: 最新の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.

startFrommysqlbinlog -R と同じようにバイナリログファイル名を指定する ( CHANGE REPLICATION SOURCE TO と同じ仕組みなので、ファイルの絶対パスではなくて SHOW BINARY …

[さらに読む]
最新のMySQL ShellだけでMySQLのPITR可能なバックアップを設定する(フルバックアップ編)

MySQL Shellには util.dumpInstance = フルバックアップと、9.2くらいから util.dumpBinlogs = 増分バックアップがあるので、ひょっとしたらMySQL ShellだけでPITR可能なバックアップをシンプルに設定できるのではないかと思った。

TL;DR

  • util.dumpBinlogs は「前回吸い上げたバイナリログから増えたぶんだけをMySQLプロトコルで吸い上げてローカルFSに保管」することができる。初回のみ最初のバイナリログファイル名の指定が必要
    • mysqlbinlog --stop-never --raw -R
[さらに読む]
TechLION vol.41 参戦(登壇)

2025年6月24日に開催された 『TechLION vol.41 〜コミュニティの終活〜』に呼んでいただき、出演者(登壇者)として参戦して参りました。 techlion.jp テーマが「コミュニティの終活」ということで、終わりかかっているような日本MySQLユーザ会に白羽の矢が立ったのだと思いますが、一応まだ日本MySQLユーザ会が終了するというプランはございませんので、その辺りを理解していただけましたら、この日お伝えしたかったことの半分は済んだようなものです。ということで残りの半分を・・・(と言って私の説明を開始しました(笑))。 YAPCさまさま 一緒に登壇した kobakenさん。YA…

バイナリログのバックアップについて考える in 2025

rsync

シェルが必要(たとえば ~/.ssh/authorized_keys で mysqldの実効アカウントにログインできるとか)なので新規に採用は嫌な感じ。
それを飲めるなら候補の一つとしてアリな気はする。
帯域ネックなら -z で圧縮をかけるとCPUを使いつつ転送に圧縮をかけられるが、転送後のファイルは圧縮されていない状態で現れるので保管を考えると更に圧縮する必要があって手間は手間。 binlog_transaction_compression が有効なら最初から圧縮されているのでベター。

[さらに読む]
最近MySQLの文字列比較セマンティクスは「非空白埋め(NO PAD)」(概ねMySQL8.0以降。utf8mb4の一部のコレーション(0900を含む))

以前、以下のようなブログエントリを書いた。

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' の後にスペースがあると同一視されない(!)
+------------+ …

[さらに読む]
Oracle Linux 8でMySQL 5.7のrpmをビルドする

TL;DR

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 …
[さらに読む]
Re: セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editorに直接--passwordを指定できるようにしてみた


セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor from do_aki

  • mysql_config_editor--password, -p だけは引数を受け付けられなくて、常にプロンプトでパスワードを要求する

[さらに読む]
レプリケーション構成でない2つのMySQLに確実にデータを書き込みたいメモ
  • それぞれのMySQLはSemisyncで正しくフェイルオーバーしたりGroup Replicationだったりで書き込みは信用できることにする
  • サロゲートキー(だけ)でなくて比較可能なPRIMARY KEYが存在することにする
  • 取り敢えず簡単なINSERTで考えるけどUPDATEもありそう

という前提で考え事。
FEDERATEDストレージエンジンはそもそもトランザクションをサポートしないので論外とする。

App側の2層コミットっぽいもの

2 Phase Commitはそもそもコーディネーターの障害に対する耐性がない…。

eval
{
  $dbh1->begin;
  $dbh1->do("INSERT INTO ..");
  $dbh2->begin;
  $dbh2->do("INSERT INTO ..");
};

if ($@)
{
  $dbh1->rollback;
  $dbh2->rollback;
}

$dbh1->commit;

### この瞬間にAppのプロセスが落ちるとダメ
$dbh2->commit; …
[さらに読む]
1967 件中 1 - 10 件を表示
次の 10 件 »