カテゴリー: MySQL

開発, 障害対応, MySQL, チューニング

performance_schemaでのロック待ち、スロークエリ分析

    引用元 https://zenn.dev/hiro1111/articles/performance_schema   ステートメント分析 最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。   待機イベント分析 データベースの待機イベントを …

MySQL, トラブルシューティング

[訓練]誤って有料会員を無料会員に全件更新してしまったので、テーブルを復旧する

経緯 とある動画をラジオ感覚で流していた   スタートアップに在籍 有料会員数は100程度のサービスを運用 メンテナンス作業のミスによるインシデントが発生 事故の内容 1件の特定の有料会員を無料会員に修正するメンテナンスを行う時に // WHERE句の付け忘れ // ;の位置が早くてWHEREが入らないケース // 改行されている && 1行目のみ選択されている &amp …

MySQL, AWS

AWS RDS PITR+ロールフォワードによるリカバリ 【誤ったクエリ発行からの復旧】

  RDSのクエリ単位での復旧手順 ソシャゲとかECで、バグでアイテムを9999999999999個大量配布しちゃった時に、スーパーメンテナンスタイムからの問題あるクエリを回避しつつの真のリストアで通常運営できる状態に復旧します。 前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】   RDS MySQL DBダンプコマンドのコツ   関 …

MySQL, AWS

AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】

      前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 RDS MySQL DBダンプコマンドのコツ     関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR …

MySQL, AWS

AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】

  関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR+ロールフォワードによるリカバリ 【誤ったクエリ発行からの復旧】   RDS側作業     binlog保存期限設定   24時間の保持に設定 …

MySQL

MySQL SELECTしかできないUserを作る

  metabase用にSELECTしかできないユーザを作ることになった🐱     例         Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

MySQL, AWS, Linux

Resolved [mysqlbinlog] ERROR: Got error reading packet from server: Could not find first log file name in binary log index file

        mysqlbinlog: unknown option –raw ??   解決 MySQL ClientがMariadbになっていた。 RDSはMySQL5.7なので これで実行できた     Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならi …

MySQL, トラブルシューティング

MySQLデッドロック ロックしているスレッドを殺す

(none)> SELECT * FROM sys.innodb_lock_waits\G ***************************[ 1. row ]*************************** wait_started | 2020-05-25 06:26:01 wait_age | 0:00:13 wait_age_secs | 13 locked_table …

MySQL, SQL

SQL グループの中で最新の日付のデータを取得する MySQL

●tb_user_section user_id section_id created 1 1 2020-05-11 20:00:00 1 2 2020-05-12 20:00:00 1 3 2020-05-13 20:00:00 2 1 2020-05-15 20:00:00 3 2 2020-05-18 20:00:00 3 4 2020-05-19 20:00:00 user_idのグループ …

MySQL, SQL, PHP

Laravel SQLを実行 ヒアドキュメント クロス集計

手の込んだ集計などはSQLで取った方がシンプルになることも多い ヒアドキュメントを利用して記述するのが良いですね🐱 <?php namespace App\Services; use App\Services\Service; use Illuminate\Support\Facades\DB; class GetsectionParentGoalService extends Servic …

MySQL

MySQL xxx doesn’t have a default value

MySQL5.6以降から規約が厳しくなった。 SQLを改善する MySQLの設定で緩める     今回はMySQLの設定を緩めることで対応   /etc/my.cnf sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ↓ sql_mode=NO_ENGINE_SUBSTITUTION   対応 $ systemct …

MySQL, RDB, SQL

MySQL5.7 いいね機能のSQL

    SQLの実行順序おさらい   SELECT 列の抽出対象 FROM テーブル名 WHERE 行の絞り込み条件 GROUP BY hoge_colum HAVING 100 > amount Aテーブルの列と行を切り出しイメージをする Bテーブルの列と行を切り出しイメージをする ONで結合条件を指定 WHEREで行を絞りこむ GROUP BYでグループ化 …