3094 件中 1 - 10 件を表示
次の 10 件 »
バイナリログのバックアップについて考える 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' の後にスペースがあると同一視されない(!)
+------------+ …

[さらに読む]
『MySQL徹底入門 第5版』本日発売(6/16)

お待たせしました。第4版から約5年。最新版のMySQLに対応した『MySQL徹底入門 第5版』が本日発売となりました。MySQL徹底入門 第5版 MySQL 8.4 LTS対応作者:yoku0825,坂井 恵,鶴長 鎮一,とみた まさひろ,深町 日出海,福山 裕大,山﨑 由章翔泳社Amazon 著者の一人として「私も待ち望んでいました」というと変に感じる人もいるかもしれませんが、多くの仲間たちと執筆しているので、自分の担当部分以外では「へぇ、そんなところも変わっていたのかぁ」という発見があったりして、本当に、私も待ち望んでいた最新情報満載の一冊となっていると思います。 ご存じの方も多いと思いま…

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 だけは引数を受け付けられなくて、常にプロンプトでパスワードを要求する

[さらに読む]
MySQL性能回復活動(MySQL RP)を独自に始めます

ようやく、MySQL性能向上開発に専念する体制が整いました。やっと開発作業に戻れます。

実質無所属なのは人生初なので、各種社会保障関係の手続きとか、どのサイトを使って組み合わせるか、どういう設定でアカウントをつくるかなどなど、開発環境も含めて全部自分で決めなければならず、結構時間を要してしまいました。すみません。

結果、本家在籍時と同様の使い勝手で自由に開発できるようになりました。

名前は、『MySQL RP (Restore Performance)』 としました。 ソースコードはMySQLのオープンソースライセンス(GPLv2ベース)で提供します。最初は劣化がもう増えない、劣化が少ないと思われる 8.0 …

[さらに読む]
レプリケーション構成でない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; …
[さらに読む]
今日から『自由』にMySQLの性能改善始めます。(MySQL開発チームを退職しました)

前回の在籍も含めると、累計9年半、本家MySQLチームでInnoDBの性能改善をターゲットに開発の仕事してきました。5.7でのb-tree index scaleや、8.0の初期の新機能で入ってしまった性能問題の修正など貢献できましたが、ここ数年は開発が進む度に導入される性能劣化に追いつけなくなってしまいました。悪いコードを見つけて直そうとしても抵抗が大きいのも大きな要因です。(遅くしたいのでしょうか?遅いことが認識できないのでしょうか?)

[さらに読む]
HeatWave MySQL が 9.0 で Auto Scheduling を実装したことでクエリの実行時間がかえって延びた件

この記事は何? 去る 2025/4/17 に、HeatWave ユーザーコミュニティである HeatWavejp(MySQL HeatWave Japan User Group) の 2 周年記念 …

Oracle Linux 8.10でのMySQL 9.3.0ビルド

MySQL Bugs: #117993: cmake failed MySQL 9.3.0 + Oracle Linux 8.10 で再現しなかったらしく、フレッシュインストールで試す。

$ wget https://dev.mysql.com/get/Downloads/MySQL-9.3/mysql-9.3.0.tar.gz
$ tar xf mysql-9.3.0.tar.gz
$ cd mysql-9.3.0/
$ sudo dnf install -y cmake

$ cmake -DCMAKE_INSTALL_PREFIX=/usr/mysql/9.3.0 -DMINIMAL_RELWITHDEBINFO=OFF -DFORCE_INSOURCE_BUILD=1
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.

-- Running cmake version 3.26.5
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- This is .el8. as found from 'rpm -qf /'
-- Looking for a devtoolset compiler
CMake Warning at CMakeLists.txt:393 (MESSAGE):
  Could not find devtoolset compiler/linker in /opt/rh/gcc-toolset-13

CMake …
[さらに読む]
3094 件中 1 - 10 件を表示
次の 10 件 »