TL;DR
-
パラメーターの組み合わせを間違えた場合、本来Abortして起動しないもの(ここまでは意図的)がAbortの処理に失敗してクラッシュする
- “Not a Bug”, 仕様だということらしいので、気にせず正しい組み合わせで起動してやれば良いだけのはず
- skip-grant-tablesしたい時はmy.iniに一緒にshared-memoryを書いてね!
MySQL 8.0では skip-grant-tables …
[さらに読む]TL;DR
MySQL 8.0では skip-grant-tables …
[さらに読む]TL;DR
再現方法。
8.0.19でレプリケーション設定をしたMySQLを用意する(8.0.28では再現しなかった。5.7.39でも今のところ再現していない)
$ make_replication_sandbox --how_many_slaves=1 8.0.19
$ cd sandboxes/rsandbox_8_0_19/
$ vim master/my.sandbox.cnf
..
binlog_group_commit_sync_delay = 1000000 ### binlogのgroup_commitを起こしやすくするため
$ vim node1/my.sandbox.cnf
..
slave_parallel_workers = 2
slave_preserve_commit_order = ON
slave_parallel_type = LOGICAL_CLOCK
$ ./restart_all
俺は未だにMySQL::Sandboxを使っているのだ、すまんな…。
2つのターミナルを用意して、↓の2ステートメントを1秒以内( …
[さらに読む]LINE Developer Meetup #73 - MySQL - connpass に参加してきました。
私のトークの資料はこちらで、
公開されているアーカイブ動画はこちらです。
ハッシュタグもまとめてみました。
LINE
Developer Meetup #73 - MySQL ハッシュタグ拾い - Togetter
ここから先はポエムです。
今回、 “日本MySQLユーザ会のyoku0825” として参加しました。
俺はここ一年くらいスランプで、なんか(俺っぽい内容で)アウトプットできてないなあと思っていたので、初心に帰って 日本MySQLユーザ会 の肩書を借りて登壇させてもらいました。
…
[さらに読む]TL;DR
実装上はシノニムになっていないけれど、同じ(ような)動きをする何かたち。
| その1 | その2 | 扱い |
|---|---|---|
| MASTER, SLAVE系 | SOURCE, REPLICA系 | sql/sql_yacc.yyの中で丸められている |
| {SHOW|PURGE} BINARY LOGS | {SHOW|PURGE} MASTER LOGS | 同上 |
TL;DR
Percona XtraBackup 8.0.29 and INSTANT ADD/DROP Columns - Percona Database Performance Blog がほぼ全て
xb 8.0.29でMySQL 8.0.29のバックアップを取ろうとした時に、1つでもINSTANT COLUMN(ADDまたはDROP)が存在するとエラーになる
$ xtrabackup --version
2022-07-20T18:36:05.410933+09:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --server-id=1 --log_bin=mysql-bin --log-bin-index=bin.index --innodb_buffer_pool_size=60G --innodb_file_per_table=1 --innodb_flush_method=O_DIRECT
xtrabackup version 8.0.29-22 based on MySQL server 8.0.29 Linux (x86_64) (revision id: c31e7ddcce3)
INSTANT COLUMNが無ければ、Vanilla MySQL …
[さらに読む]TL;DR
慌てず騒がず、エディタでダンプを開いて次の行を消してください
WARNING: --master-data is deprecated and will be
removed in a future version. Use --source-data
instead.
WARNING: --dump-slave is deprecated and will be
removed in a future version. Use --dump-replica
instead.
Affects Meすると早く修正されると思います
Command-line options for mysqldump that contain the terms “master”, “slave”, or “mts”.
…
[さらに読む]TL;DR
my.cnf に
early-plugin-load=keyring_file.so を書くのを忘れてる
INSTALL PLUGIN
でプラグインを食わせてるんだと思う。
暗号化したテーブルをmysqldumpすると、 ENCRYPTION = 'Y'
がテーブルオプションにくっついてくる。
--
-- Table structure for table `t1`
--
DROP TABLE IF EXISTS `t1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `t1` (
…[さらに読む]
日々の覚書: MySQLから大量のレコードをちまちま削除するメモのコメント にあった、「DELETEでFORCE INDEXするにはテーブルリファレンス構文しかないの?」の話の続き(?)
MySQL 8.0のオプティマイザヒント には INDEX
ヒントがあるので、こいつを使えばテーブルリファレンス構文でこねくり回さなくてもDELETEでインデックス指定ができそう。
mysql80 12> SHOW CREATE TABLE city\G
*************************** 1. row ***************************
Table: city
Create Table: CREATE TABLE `city` (
`ID` int NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
…[さらに読む]
TL;DR
RESTART ステートメントの本質は「終了コード16で mysqld
を停止」するだけ
mysqld_safe, systemd,
dockerd とかとか) が「終了コード16の時はもう一度
mysqld を起動する」という実装をしなければならない
RESTART ステートメントの処理の中で、「 SHUTDOWN
権限があるか」「 MYSQLD_PARENT_PID 環境変数がセットされているか」を判定してから、
SIGUSR2 シグナルを使って終了コード16での終了に持っていく
entrypoint.sh は
MYSQLD_PARENT_PID を渡していなかったので、その評価のところでfalseになって …