コンピュータシステム周辺に関わっているとCSVファイルとのお付き合いは避けて通れないものと言えるでしょう。みなさんはどんなCSVとお付き合いしたことがありますか。
セパレータが明確でない(というか明確なのだけど例外例外の積み重ねが意外とややこしい)のがcsvとのお付き合いで気を使うところですよね。
…
[さらに読む]TL;DR
mysql.user.User_attributes
カラムにJSONで入ってくるのでその辺で確認できる
SHOW CREATE USER
には入ってこないのでここで確認するしかない?
mysql.user.user_attributes
に
additional_password
って要素を持ってるかどうかで判定ができる
mysql80 7> SELECT user, host FROM mysql.user WHERE user_attributes->>'$.additional_password' IS NOT NULL;
+----------+------+
| user | host |
+----------+------+
| yoku0825 | % |
+----------+------+
1 row in set (0.00 sec)
…
[さらに読む]
MySQL&Dockers ...は新しい概念ではなく、人々はしばらくの間Dockersに移行しています。
開発のためにこれに移行しようとしている人にとっては、いくつかのハードルがあります。
MySQLはローカルで正常に動作しますが、MySQLの異なるバージョン間でコードをテストする場合は、いくつかのバージョンを簡単に入手できると便利です。
長年の選択肢の1つは、もちろんGiuseppe Maxiaによるhttps://mysqlsandbox.net/です。
これは、複数のインスタンスを起動し、レプリケーションなどをテストできる非常に有効なソリューションです。
…
日々の覚書: シングルプライマリーモードだろうとInnoDB Cluster内のデータをズラす方法
の続き。 件数をズラした上で OPTIMIZE TABLE
をかけるといくらでもセカンダリーが遅延した状況が作り出せる、というとことまでは良いとして。
node3のグループレプリケーションを一旦止める。
### node3
mysql> STOP GROUP_REPLICATION;
Query OK, 0 rows affected (4.49 sec)
またnode1から OPTIMIZE TABLE
を5発くらい叩き込んでついでに更新SQLを入れておく。
### node1
mysql> OPTIMIZE TABLE sbtest.sbtest1; -- これを5回くらい
mysql> INSERT INTO d1.t1 VALUES (4, 'four');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM d1.t1; …
[さらに読む]
TL;DR
SET sql_log_bin = 0
で効くんだからびっくりだ
動作確認用にd1.t1テーブルを作って2行くらい入れておく。
### node1
mysql> CREATE DATABASE d1;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE TABLE d1.t1 (num SERIAL, val VARCHAR(32));
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO d1.t1 VALUES (1, 'one');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO d1.t1 VALUES (2, 'two');
Query OK, 1 row affected (0.00 sec)
プライマリーノードで sysbench
を使って100万行くらいのテーブルを作る。
### node1
$ sysbench --mysql-user=root oltp_common --table_size=1000000 prepare
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Creating table 'sbtest1'...
Inserting 1000000 …
[さらに読む]
TL;DR
TL;DR
performance_schema.replication_group_members
mysql_innodb_cluster_metadata.instances
cluster.rescan
でグループレプリケーション側の情報を正としてInnoDB Clusterのメタデータを修正できる
以下、 performance_schema.replication_group_members
をメンバー、 mysql_innodb_cluster_metadata.instances
をメタデータと略するます。 メンバーにいるけどメタデータにいないパターン 再現方法
TL;DR
ALTER TABLE
中の後続のDDL,
DMLはプライマリーノードでブロックされない限りは ALTER TABLE
を追い越してコミットすることができる
ALTER TABLE
をリプレイ中にプライマリーで実行されたDDL, DMLはその対象に関わらず 「セカンダリーでリプレイ中の
ALTER TABLE
を追い越せない」