3029 件中 11 - 20 件を表示
« 前の 10 件 | 次の 10 件 »
MySQLで二乗三乗は^じゃないんだじょう

「SQL」は標準化されているとはいえ、特に関数や演算子にはデータベース製品ごとに結構な差異が含まれています。「方言」と呼んだりしますね。 その「方言」のおかげで、うっかりハマったので、紹介するじょう。 計算が合わない! 事の発端は、SELECT句で行っていた少々複雑な計算が、なんか全然違う値を返していることに気づいたこと。式を分解しながら原因を突き止めたところ、累乗の計算で期待と異なる結果を返していることが原因だと分かりました。 何が起きたのか シンプルな例として「10の三乗」が欲しいとします。まぁ、何も考えずに手を動かすと、このように書きますよね。 mysql> SELECT 10^3; +…

MySQLのCHECKSUM TABLEは特別なことをせずに愚直に行を全部読んでチェックサムを取っている

TL;DR

  • タイトルが全て
  • インデックスの情報は考慮しないのでインデックスが違ってもチェックサムは一致する
  • 最終的に行ごとのチェックサムを合計しているので行の順番が違ってもチェックサムは一致する

CHECKSUM TABLE は不思議なちからでテーブルのチェックサムを計算しているかのように思えるかも知れないがさにあらず。
実に地味に1行1フィールドずつ読んでチェックサムを取っている。

https://github.com/mysql/mysql-server/blob/mysql-8.0.36/sql/sql_table.cc#L18745-L18904

[さらに読む]
MySQL 8.3.0でmoldリンカがサポートされてたので試した

MySQL 8.3.0がmoldリンカをサポートしていたので、フルビルドがどれくらい早くなるか試してみました。

MySQL :: MySQL 8.3 Reference Manual :: 2.8.7 MySQL Source-Configuration Options

先に結果

8.3.0 フルビルドにかかった時間(リンクだけではなくコンパイル全体にかかる時間)。 環境やオプションは後述。

リンカ make時間(秒)
lld 139
mold 137

[さらに読む]
GRANTでデータベース名にワイルドカードを指定することとpartial revokesと

TL;DR

  • partial_revokes が有効な状態だと GRANT ALL ON 'd%'.* TO .. みたいなデータベースワイルドカードの構文が効かない
In privilege assignments, enabling partial_revokes causes MySQL to interpret occurrences of unescaped _ and % SQL wildcard characters in schema names as literal characters, just as if they had been escaped as \_ and \%. Because this changes how MySQL interprets privileges, it may be advisable to avoid unescaped wildcard characters in privilege assignments for installations where partial_revokes may be enabled.

In addition, use of _ and % as wildcard characters in grants is deprecated as of MySQL 8.0.35, and you should expect support for them to be removed in a future version of MySQL.

[さらに読む]
オープンソースカンファレンス(OSC)2024-Osaka参画

2024年1月27日に大阪は本町、大阪産業創造館で開催された、OSC 2024 Osaka(オープンソースカンファレンス2024大阪)に、日本MySQLユーザ会としてブース展示で参加してきました。 event.ospn.jp 今回のOSC大阪は、コロナ前と同様にブース展示+セミナーという形でフルサイズでの開催でした。まだ油断できる状況でないところではありますが、それでも「戻ってきた」という感覚を少しずつ得られるようになってきました。個人的にはセミナー45分枠というのは、しっかり学べるという点で良いのですが、もう少しライトに、半分くらいの時間で「紹介」を中心とした枠がいっぱいあると良いなぁと思っ…

MySQL アンカンファレンスを開催したい

MySQL アンカンファレンス開催したい。というかします。

概要

最近のMySQLはバージョニング方針も変わって、周辺ツールを含めた機能追加も着々とされている一方で、MySQL関連のイベントは減ってしまったような気がします。
コロナ以降、イベントが少ない気がするのは残念に思いつつも、最近の私には社外で活動できる余力がなく、社内にMySQLのプロ、その他DBのプロがたくさんいるので、なんとなく満足してしまっていました。 ですが、MySQL Advent …

[さらに読む]
mysql_ssl_rsa_setupがopensslコマンドを実行しているだけっぽいので見てみた

TL;DR

実行してるのは以下。


cd $datadir

echo "basicConstraints=CA:TRUE" > cav3.ext

echo "basicConstraints=CA:FALSE" > certv3.ext

openssl version
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout ca-key.pem -subj /CN=MySQL_Server_8.0.36_Auto_Generated_CA_Certificate -out ca-req.pem
openssl rsa -in ca-key.pem -out ca-key.pem
openssl x509 -sha256 -days 3650 -extfile cav3.ext -set_serial 1 -req -in ca-req.pem -signkey ca-key.pem -out ca.pem
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -subj /CN=MySQL_Server_8.0.36_Auto_Generated_Server_Certificate -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -sha256 -days 3650 -extfile certv3.ext -set_serial 2 -req -in server-req.pem -CA ca.pem -CAkey ca-key.pem -out server-cert.pem
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem -subj /CN=MySQL_Server_8.0.36_Auto_Generated_Client_Certificate -out client-req.pem …
[さらに読む]
keyring_fileを消したり戻したりしながら確かめてみる

ただ思いついたことを順番に実行したメモ。


1. keyring_fileを食った状態でt1を作る。
2. keyring_fileをコピーして消す
3. t2を作る -> エラーログなし
4. mysqldを停止してkeyring_fileを戻す
5. mysqldを起動する
6. t1もt2も読める
7. keyring_fileをコピーして消してmysqld再起動
8. t1, t2は読めない -> 起動時のエラーログに出る
9. t3を作る
10. mysqld再起動
11. t3を作った時点でkeyring_fileが変わっているのでt1, t2は読めない、t3だけが読める状態

```2024-01-20T14:29:22.972253Z 1 [ERROR] [MY-012664] [InnoDB] Failed to decrypt encryption information, please check whether key file has been changed!2024-01-20T14:29:22.972297Z 1 [ERROR] [MY-012226] [InnoDB] Encryption information in datafile: ./d1/t1.ibd can't be decrypted, please confirm …

[さらに読む]
xtrabackup + InnoDB TDE / keyring_file_dataで--prepareと--move-back 続き

日々の覚書: xtrabackup + InnoDB TDE / keyring_file_dataで--prepareと--move-back の続き

keyring_file_dataを真面目に与えなくても何故か —prepare できてしまったのが謎だったので書き込みながら。

$ for n in {101..10000} ; do
> sudo mysql -e "INSERT INTO d1.t1 VALUES ($n)"
> done
$ sudo xtrabackup --backup -uroot --stream=xbstream | pzstd -dc > test.xb.zst
2024-01-20T05:23:28.912847-00:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=/var/lib/mysql
2024-01-20T05:23:28.913000-00:00 0 [Note] [MY-011825] [Xtrabackup] recognized client arguments: --backup=1 --user=root --stream=xbstream
xtrabackup version 8.0.35-30 based on MySQL server 8.0.35 Linux (x86_64) (revision id: 6beb4b49)
..

$ mkdir backup_with_running
$ cd backup_with_running
$ …
[さらに読む]
xtrabackup + InnoDB TDE / keyring_file_dataで--prepareと--move-back

xtrabackupの準備


$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

$ sudo percona-release enable-only tools

$ sudo dnf install -y percona-xtrabackup-80

元記事の順番をかっ飛ばして、元記事の順番その3、 keyring_file_data を相対パスで指定した時のバックアップとリストア(ちなみに標準パスを使おうと絶対パスを使おうと相対パスを使おうと同じだったので他の2つはもうやらない)


$ sudo xtrabackup --backup -uroot --stream=xbstream | pzstd -c > test.xb.zst

2024-01-19T13:48:33.194738-00:00 0 [Note] [MY-011825] [Xtrabackup] …
[さらに読む]
3029 件中 11 - 20 件を表示
« 前の 10 件 | 次の 10 件 »