mysql
既存のクラスターのどれか一つに入る MySQL db02.luis.local:33060+ ssl JS > \c root@db01.luis.local Creating a session to 'root@db01.luis.local' Fetching schema names for autocompletion... Press ^C to stop. Closing old connection... Your MySQ…
MySQL db03:33060+ ssl JS > c.status() { "clusterName": "main", "defaultReplicaSet": { "name": "default", "primary": "db03.luis.local:3306", "ssl": "REQUIRED", "status": "NO_QUORUM", "statusText": "Cluster has no quorum as visible from 'db0…
1回目は7秒かかるクエリが、2回目は速い。 実行計画を見ても、Slow Query を見てもインデックスは使われてそうなイキフンを感じる。 前置き クエリ テーブル EXPLAIN Slow Query 調べる Performance Schema file_summary_by_instance MySQL 5.7 で EXPLAI…
8.0.19 -> 8.0.20 1. MySQL Shell を最新にする 2. MySQL Router を最新にする 3. メタデータを最新にする MySQL db01:33060+ ssl JS > dba.upgradeMetadata() NOTE: Installed metadata at 'db02.luis.local:3306' is up to date (version 2.0.0). Metadata…
1 分間に約 23万クエリ流れる DB が全部で 4台な環境がある。 innodb_buffer_pool_size はだいたい 70 GB セマフォ innodb_buffer_pool_instances を調整することで、mutex への競合が減りパフォーマンスが向上する。 innodb_buffer_pool_instances = 1 OS W…
ある日 InnoDB Cluster をコンテナ上で動かしてたがメモリを期待していた以上に消費していたので調べていた。その時は innodb_dedicated_server を 1 にしてた。 innodb_dedicated_server ソースを覗いてみる buffer_pool_size が決まるところ メモリサイズ…
TL;DR flush slow logs のタイミングでバイナリログに書き込まれる それによって GTID がズレる = errant transaction このスクリプトを mackerel-agent で定期実行することで解決 事象 あるタイミングでスレーブの GTID が進んで errant gtid が起きる。 f…
なにしてるの errant transaction の検知 errant transaction の修正 can-replicate-from-gtid を叩く Mackerel で使う なにしてるの errant transaction の検知 errant transaction の修正 can-replicate-from-gtid を叩く errant transaction の検知 funct…
dnf め... mysql repo を入れる # dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm -y mysql-community-server を探す # dnf list | grep mysql-community-server mysql-community-server-debug.x86_64 8.0.19-1.el8 mys…
InnoDB Cluster クエリが少ないとき クエリが多いとき 最低5秒以上で MySQL Router は新プライマリへ切り替わる MySQL Router のメタデータが更新されるタイミング InnoDB Cluster 環境は MySQL 8.0.17 Single-Primaryパターンは下記2つ クエリが少ないと…
既存のテーブルが Group Replication に準拠してるか エンジンが InnoDB かどうか テーブル構造が Group Replication 準拠か 既存のテーブルが Group Replication に準拠してるか エンジンが InnoDB であることが必要 Primary Key が必須だよ エンジンが Inn…
俺的 MySQL 8 メモ 俺的 MySQL 8 メモ 1. MySQL 8 から SET PERSIST が使える 1. MySQL 8 から SET PERSIST が使える SET GLOBAL のグローバル変数の変更に加えて、再起動しても反映されるようになる。 mysql> SET PERSIST innodb_buffer_pool_size = 268435…
1. MySQL Router はどこで動かすべきか 2. MySQL Router を挟むことでパフォーマンスに影響はあるか 2. bootstrap を実行したあとは気をつけろ 3. REST API で MySQL Router のメトリクスを取りたい REST API の有効化 1. MySQL Router はどこで動かすべきか…
めっちゃ参考になるやつ。 yakst.comフェイルオーバーはしても Non-GTID だと CHANGE MASTER が実行されずに孤立した。 けど、↑ の yakst を見ると何も問題ないように書かれてる。 公式ドキュメントにも、GTID(Pseudo−GTID)じゃないと孤立するよとは書かれ…
GTID & 非GTID の混合レプリは無理 レプリケーション止まった時 1. どこで止まったか確認する 2. エラーになった GTID をどうにかする GTID なしのレプリケーションに戻す バックアップとリストア スレーブの追加 Got fatal error 1236 from master when rea…
SCP (複製元)複製先へ datadir をコピー (複製先)ファイルの配置 nc 受信側 送信側 レプリケーションについて MySQL 5.5 まで(複製先) MySQL 5.6から(複製先) 前回は XtraBackup を使って、スレーブを止めずにスレーブを複製する方法を書きましたが …
MySQL のスレーブ複製をダウンタイムなしで行う
Archiveデータのアーカイブに最適されている。 テーブルデータを圧縮してディスク上でのデータ格納量を低減することを目的としたストレージエンジン。 クラスタや、トランザクション、インデックスがサポートされていない、INSERT と SELECT をサポートされ…
機会があって調べていると一筋縄ではいかなかったので覚書。 2ヶ月ぶりの記事ですが普通に生きています。 INTO OUTFILE は使えない RDS for MySQL(Aurora) v5.6.10 では INTO OUTFILEを実行するとエラーで使えない ERROR 1045 (28000): Access denied for u…
先月末に数学のテストを終えました。 C単位は降ってきてほしいと切に願います。 あと、中間発表を控えてます。 背景 ステージング環境のDBをプロダクション環境のDBへインポートする際に レコードを消すわけには行かず ・プロダクションにないテーブルは作成…
ちょっと、EC-CUBEを構築する際に困ったことがあったのでメモ インストール時にMySQL関連でエラーが出る ・InnoDB関連を調べる use eccube_db; show table status \G; Engine: InnoDB でなければInnoDBでDBを作成 CREATE DATABASE eccube_db ENGINE = InnoDB…
こんばんわ 起きたこと 作業中にいつものようにディレクトリを削除するときに「rm -rf」を使ってたら Nginxのドキュメントルートをふっ飛ばした。 rm -rf nginx:nginx /var/www 本当はchownを実行したかったのに脳死状態でこんなコマンドをうってた。 原因 r…
Wordpressに触れるようになって必然的に中指の第一関節ぐらいまで突っ込んだ知識を得たLAMP関係。 そんな中で知ったこと。 同じユーザーで異なるパスワードでDBに接続は出来ない 初めて知った... 今までMySQLを用いたプログラム作ってきたけど何故か今までこ…
あまりの Apache2 のメモリ使用量が多かったので調整してたらカテゴリーが表示されなくなった! メモリ使用量が多すぎて 5.5GB の9割は消費されてた。 ブログに何回かアクセスしたり、管理画面に入るとすぐ 500 Internal Server Error を吐く。 まあ プロセ…