地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2024-04-01から1ヶ月間の記事一覧

【Ubuntu】自宅の作業サーバを24.04にした

gihyo.jp Ubuntu 24.04 LTS “⁠Noble Numbat⁠”がリリースされた。作業用サーバを自宅で動かしているのでとりあえずクリーンインストールで入れておく。(22.04を使っていた) MySQLをソースビルドする セットアップスクリプトを動かしたらエラーも出ずに終わっ…

【MySQL】GTIDがオフかつMTSがオンだとレプリケーションで不整合が起きえる

MySQL 8.0にしてからレプリカに対してxtrabackupをやるとたまにデータの不整合が起きてSQLスレッドがたまに止まるな。毎回じゃないのはなんだろ。— RyuichiWatanabe@gurasan (@ryuichi_1208) 2024年4月28日 マルチスレッドレプリケーション(MTS: Multi-Thre…

【MySQL】WRITESETとは

dev.mysql.com MySQLのWRITESETは、主にMySQL Group ReplicationおよびMySQL InnoDB Clusterの文脈で使用される用語です。WRITESETは、トランザクションが行ったすべての変更を記述するメタデータの集合で、これにより複数のデータベースサーバー間でのトラ…

【lima】read-only file systemのエラー

docker run --rm -v `pwd`:/work -w /work vvakame/review rake pdf docker: Error response from daemon: mkdir /var/lib/docker/overlay2/247041dc6228593d09799f246b7dfbf44b9d54e38f2feff1e0f1a2b30a90591a-init: read-only file system. See 'docker ru…

【Nginx】1.26.0でhttp/3が使えるようになっていた

2024-04-23 nginx-1.26.0 stable version has been released, incorporating new features and bug fixes from the 1.25.x mainline branch — including experimental HTTP/3 support, HTTP/2 on a per-server basis, virtual servers in the stream module,…

【C】libuvのサンプルコード

github.com 読む機会があったのでコメント付きで書いてみる。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <uv.h> #define DEFAULT_PORT 7000 #define DEFAULT_BACKLOG 128 uv_loop_t *loop; typedef struct { uv_write_t req; uv_buf_t buf; } write_req_t; // 書き</uv.h></string.h></stdlib.h></stdio.h>…

【MySQL】ERROR 1698 (28000): Access denied for user 'root'@'localhost'

土日だけで10回くらい見た。そして以下を打つというのを10回やった。 echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''" | mysql パーミッションエラーやディレクトリないエラーとかMySQLの権限エラーとかはいい感じに内部…

【Terraform】dynamicのメモ

List locals { empty_array = [] environment = "${var.variables != null ? list(var.variables) : local.empty_array}" } resource "aws_lambda_function" "this" { ... dynamic "environment" { for_each = "${local.environment}" content { variables =…

【MySQL】ギャップロックの次のレコードロックをMySQL 8.0から取らなくなった?

タイトルの通り。MySQL 5.7の時に「あ、そこもロック取るんだ」って思っていたやつが8.0から挙動が変わったのか見てみる。8.0.36を使ってます。リピータブルリードで検証。 mysql> SHOW VARIABLES LIKE '%isolation%'; +-----------------------+-----------…

【旅行記】秋田旅行

移動 pic.twitter.com/fUE9LeG43S— RyuichiWatanabe@gurasan (@ryuichi_1208) 2024年4月6日 週末に行ってきた。大館市までは大体4.5時間くらいで中距離運転という感じ。2週間で1200kmくらいの運転をした。楽しい。乗っている車が6月で丸10年になる。比較的丁…

【MySQL】ネクストキーロックとファントムリード

ネクストキーロックとは MySQLのネクストキーロック(Next-Key Lock)は、InnoDBストレージエンジンが使用するロックの一種で、トランザクション処理中のデータの整合性を保つために使用されます。これは、行レベルのロックとギャップロックの組み合わせであ…

【書評】Learning OpenTelemetryを読んだ

読了217。Learning OpenTelemetry。OpenTelemetry とはから始まり実装方法や進め方について書かれた入門書。導入前に読むの良さそう。変化の早い分野というのもあるがツールの使い方みたいな話はあまりなくて考え方や調べ方メイン。 pic.twitter.com/mWb64U8…

【MySQL】explain format=jsonが便利

yakst.com explainのjsonフォーマットは5.7から存在します。explain format=json ${クエリ}と実行することでjson形式でexplainを表示することが出来ます。これの嬉しいポイントとしてはreadやevalに対するコストを表示してくれます。以下は実際の例です。 "c…

【MySQL】trx_sys->mutexは人気のmutex

MySQLでtrx_sys->mutexは色々な箇所から呼び出されている。これを長時間保持してるトランザクションがあるとMySQL全体の性能ダウンに繋がるというお話。 まとめ trx_sys->mutexはトランザクションの開始/終了時にも確保する必要がある 長時間保持して解放し…

【MySQL】8.0で使えるperformance_schema.data_locksの中身

(`wait_started`, `wait_age`, `wait_age_secs`, `locked_table`, `locked_table_schema`, `locked_table_name`, `locked_table_partition`, `locked_table_subpartition`, `locked_index`, `locked_type`, `waiting_trx_id`, `waiting_trx_started`, `waiti…