序文最近、データの欠落やデータの損失に関するフィードバックをユーザーから受け取ることがあります。表現型の観点から見ると、この種の問題はデータベース レベルでは最も緊急の問題です。客観的な条件は別として、この種の問題に対する唯一のリカバリ方法はバックアップ リカバリ + Binlog 再生であり、通常は時間がかかり、ビジネスに大きな影響を与えます。 しかし、安定性を重視したソフトウェアであるため、データ損失の可能性は実際には非常に低いため、これらのフィードバックの問題は本当に「データ損失」に関するものなのでしょうか? 問題の説明ある日の正午、ビジネス アカウントでデータベースにログインした後、ビジネス データベースが消えたというユーザーからのフィードバックを受け取りました。 原因分析この質問を受けたとき、雰囲気はまだ非常に緊張していました。一方では、調査のためにデータベースへのログインを許可するようユーザーに連絡し、他方では、最近どのような変更が行われたかを確認するためにユーザーとコミュニケーションを取っていました。 データベースにログインした後、ビジネス データベースが存在することがわかりました。ユーザーからのフィードバック「ビジネス データベースが消えた」と合わせて、当初はビジネス アカウントに権限がないと判断しました。show grants で確認したところ、ビジネス アカウントには USAGE 権限しかなく、次のような結果でした。 mysql> 権限を表示します。 +----------------------------------+ | テスト@% の助成金 | +----------------------------------+ | *.* の使用権限を 'test'@'%' に付与 | +----------------------------------+ セット内の 1 行 (0.00 秒) このアカウントには最低限の権限しか与えられていないため、「業務データを見ることができない」のは明らかで、再認証後、問題は解決しました。調査の結果、次のような同じ名前の別のアカウントで初期認証操作が行われたことが判明しました。 mysql> 権限を表示します。 +-------------------------------------------------------------+ | [email protected].% への許可 | +-------------------------------------------------------------+ | prd_name.* のすべての権限を 'test'@'10.120.117.%' に付与します | +-------------------------------------------------------------+ セット内の 1 行 (0.00 秒) マイSQL> 拡大する「データ損失」という現象に関して、データベース全体のレベルでデータが「失われている」が、データベース自体は正常である場合、問題は今回のケースと同じ、つまり権限エラーである可能性が高いです。この問題の原因として、一般的に次の 2 つの可能性があります。1. ログインしたアカウントが同じ名前の別のアカウントと一致している。2. 認証に問題があり、ビジネス アカウントに権限がない。もちろん、最悪のケースは間違いなくデータベース削除操作です。バイナリログを解析することによってのみ、この操作の実行時間を特定できます。 もう 1 つのカテゴリは、「部分的なデータ損失」です。テーブルが欠落している、テーブル内の一部のデータが欠落しているなどです。厳密に言えば、MySQL の権限制御はテーブルおよび列レベルで実行できますが、実際には一般的に使用されていないため、この種の問題は権限エラーによっても発生する可能性があります。ほとんどの場合、更新または削除時に where 条件がないなど、操作が間違っていることが原因です。この場合、履歴バックアップを使用し、binlog を使用して復元することしかできません。この操作は、Tencent Cloud では「ロールバック」機能としてカプセル化されています。 総括するこの種の問題に遭遇した場合は、少し時間を取って問題を観察してください。この非常に緊急かつ深刻な「データ損失」問題を解決するには、再認証に数秒しかかからない場合があります。 上記は、MySQL データ損失の詳細な原因と解決策です。MySQL データ損失の詳細については、123WORDPRESS.COM の他の関連記事に注意してください。 以下もご興味があるかもしれません:
|
<<: Spring Boot Docker パッケージング ツールの概要
>>: 写真をアップロードして顔を認識する Vue+axios サンプルコード
目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...
Baidu には slot-scope に関する記事が既にたくさんありますが、以前よく学習しておら...
1. はじめにMySQL ロックは、その範囲に応じて、グローバル ロック、テーブル ロック、行ロック...
Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...
多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...
この記事の例では、双方向データバインディングを実装するためのVueの具体的なコードを参考までに共有し...
背景webpackのバージョンを確認したいのですが、webpack -vを実行するとエラーが報告され...
しばらくReactを勉強した後、実践してみたいと思います。そこで、個人のブログのウェブサイトを再構築...
よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...
元の構成: http { ...... limit_conn_zone $binary_remote...
img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...
大画面のデジタル スクロール効果は、最近の作業における大画面 UI ダイアグラムから生まれました。U...
目次序文1. イントラネットDNS AレコードとMXレコードを構成する2. メールサーバの初期化設定...
CSSコードコンテンツをクリップボードにコピー.bottomTable{背景色: rgb (249,...