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

var 優技録 = […]string{ "Golang", "Nuxt.js", "AWS", "PHP", "DB", "IaC", "SRE"}
経緯 とある動画をラジオ感覚で流していた スタートアップに在籍 有料会員数は100程度のサービスを運用 メンテナンス作業のミスによるインシデントが発生 事故の内容 1件の特定の有料会員を無料会員に修正するメンテナンスを行う時に // WHERE句の付け忘れ // ;の位置が早くてWHEREが入らないケース // 改行されている && 1行目のみ選択されている & …
RDSのクエリ単位での復旧手順 ソシャゲとかECで、バグでアイテムを9999999999999個大量配布しちゃった時に、スーパーメンテナンスタイムからの問題あるクエリを回避しつつの真のリストアで通常運営できる状態に復旧します。 前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 RDS MySQL DBダンプコマンドのコツ 関 …
前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 RDS MySQL DBダンプコマンドのコツ 関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR …
関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR+ロールフォワードによるリカバリ 【誤ったクエリ発行からの復旧】 RDS側作業 binlog保存期限設定 24時間の保持に設定 …
言語化しておく🐱 主表と従属表でどちらのカラムも必要な場合 JOIN LEFT JOIN 従属表のカラムの列にnullが必要な場合 条件によってnullで表示させたい場合はON句を使う ON A.id = B.a_id AND B.delete_flag = 0 INNER JOIN 主表と従属表の共通行を出したい場合 &nbs …
metabase用にSELECTしかできないユーザを作ることになった🐱 例 Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><
クエリビルダはあまり使わないのだけど、レコードの有無を取得する場合や集計処理なんかでは使うことがある🐱 生クエリがこうだとする select * from `employee_emails` left join `employee_skills` on `employee_skills`.`employee_email_id` = `employee_ …
仕様変更によってremarksにあるデータをlogin_infoに移す本番マイグレーションがありました。 事業部に伝わる秘技 ポイント 作業前バックアップ →ヤバくなったら戻せる 立会いによるレビュー トランザクションとカウントを駆使したマイグレーション マイグレーションを本番サーバ内のトランザクションを利用することで、 更新対象を常に確認しながら実行することで精度を確 …
mysqlbinlog: unknown option –raw ?? 解決 MySQL ClientがMariadbになっていた。 RDSはMySQL5.7なので これで実行できた Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならi …
この記事の紹介する方法だと、仕様で階層が深くなるようになったとしても対応できます。 こういうデータがあったとする categories id, parent_id, name 1, 3, カテゴリ1 2, null, カテゴリ2 3, 2, カテゴリ3 4, null, カテゴリ4 5, 3, カテゴリ5 階層を表すとこう 3-1-5 2-3-5 4 SQL &nb …
GROUP BY id, name HAVING COUNT(*) > 1; 重複しない検索結果を検証する方法 具体例 SELECT id, name FROM sample GROUP BY id, name HAVING COUNT(*) > 1; Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代 …
(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 …