kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

MySQL

Amazon Linux2 に MySQL5.7のクライアントを入れる方法

踏み台サーバに手動で入れる必要が出たので個人的なメモ 参考 dev.mysql.com dev.classmethod.jp だいたいここの通りにやればOK 前提1 Amazon Linuxでは、いくつかのパッケージを Extras Library として提供しているが、MySQLは提供していない(mariadbはある…

MySQL でテーブルをロックせずに index を貼る方法いろいろ

indexを張った場合の処理の基本的な流れ ALTER TABLE でindexを追加すると、indexを貼り終わるまでテーブルがロックされる 内部的には テーブルをロック→テーブルをコピー→コピーしたテーブルにindexを貼る→元のテーブルと入れ替える→ロック解除 という処理…

InnoDBのバッフアプールとMyISAMのキーバッファについて

概要 InnoDBとMyISAMの違いについて解説 その上で、それぞれのキャッシュの取り扱いと、キャッシュに関する値の最適化について解説 そもそも、InnoDBとMyISAMの違い どちらも ストレージエンジン MySQLは、リクエストから以下のような流れで、データのread/w…

MHA for MySQLのデフォルトのヘルスチェックでは、DBの書き込み障害ではフェイルオーバーしないよというお話

先に結論 MHA for MySQLのデフォルトのヘルスチェックでは、DBの書き込み障害ではフェイルオーバーしない なんで? MHAはヘルスチェックをバラメータ ping_type で設定された方法で行う ping_type のデフォルトは SELECT ping_type : SELECT の場合、ヘルスチ…

スレーブのレプリケーションが遅延している時に SHOW SLAVE STATUS でチェックするべき値

前提知識 MySQLのスレーブでは、以下の2つのスレッドを使って、レプリケーションを行っている I/Oスレッド : マスタからバイナリログの差分を取得する SQLスレッド : IOスレッドから取得したバイナリログを元にDBを更新する SHOW SLAVE STATUS で見るべき値 …

MySQLのバイナリログについて解説

バイナリログとは マスタのDBの 更新命令のみ を記録したログファイル マスタ/スレーブ間の同期(レプリケーション)で使用する my.cnf に log-bin オプションを設定すると、バイナリログが作成されるようになる バイナリログの保存形式 STATEMENT, ROW, MIXED…