この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 12936|答える: 0

[出典] Myisamchkのクラッシュリカバリーの使い方を教えます Mysamchk

[リンクをコピー]
掲載地 2017/11/15 13:23:05 | | |

"tbl_name.frm" テーブル定義(テーブル)ファイル "tbl_name. MYD「データファイル」tbl_name。 MYI」インデックスファイル
これら3つのファイルタイプそれぞれに異なる形の破損が起こり得ますが、問題は主にデータファイルやインデックスファイルで発生します。
myisamchkは「」を作成します。 MYD"(データ)ファイルが動作するには、古い"."を削除することで動作します。 MYDファイルを作成し、新しいファイル名を元のファイル名にリニューアルして修復フェーズを終了します。 --quickを使うと、myisamchkは一時的な「」を作成しません。 MYD」ファイル、あくまで推測です。 MYD"ファイルは正しく、新しいインデックスファイルを作成するだけで、触らない"と言われています。 「MYD」ファイルで、myisamchkが自動的に検出するため安全です。 MYD」ファイルが破損しており、この場合、修復を放棄します。 また、myisamchkを2つ――クイックオプションとして与えることもできます。 この場合、myisamchkはキーの繰り返しのような誤りを諦めず、代わりに「」を修正しようとします。 MYD」ファイルで解決してください。 通常、空きディスク容量が少なすぎる場合に通常の修正を実装し、2つのクイックオプションを使う場合にのみ有用です。 この場合、myisamchkを実行する前に少なくともバックアップを取るべきです。
1. 表の誤りのチェック方法
表を確認するには、次のコマンドを使用します:
マイサムチクtbl_name
これにより全エラーの99.99%が検出されます。 しかし、破損はデータファイルにのみ発生する(これは稀です)ことが判明できません。 テーブルを確認したい場合は、通常はmyisamchkをオプションなしで実行するか、-sか--silentのいずれかを使うべきです。
マイサムチク -e tbl_name
完全に徹底したデータチェックを行います(-eは「拡張チェック」の意味です)。 各行ごとにキーごとに読み取りチェックを行い、正しい行を指していることを確認します。 多くの鍵がある大きなテーブルでは、これには時間がかかることがあります。 Myisamchkは通常、最初のエラーを見つけたら停止します。 もっと詳しい情報が欲しい場合は、--verbose(-v)オプションを追加できます。 これにより、myisamchkは最大20エラーまで続きます。 一般的な使用では、単純なmyisamchk(テーブル名以外の引数なし)で十分です。
マイサムチク -e -i tbl_name
前のコマンドと同じですが、-iオプションはmyisamchkに統計を印刷するよう指示します。
2. テーブルの修理方法
破損したテーブルの症状は通常予期しないクエリブレークであり、例えば以下のエラーが見られます:
「tbl_name.frm」はロックされており、変更できません。
「tbl_name」というファイルが見つからない。 MYI"(エラーコード :### )。
テーブルプロセッサからエラー###を取得します(この場合、エラー135は例外です)。
予期せぬファイル終了。
記録ファイルは破棄された。
その場合はテーブルを直さなければなりません。 Myisamchkは通常、ほとんどの問題を検出して修正します。
修理プロセスは最大4段階で構成されており、以下に説明します。 始める前に、データベースディレクトリとチェックリストファイルの権限をCDで設定し、mysqldを実行しているUnixユーザー(そしてチェックしているファイルへのアクセスが必要なあなた自身)が読みやすいか確認してください。 もしファイルを修正しない場合は、あなたに書き込めるものでなければなりません。
フェーズ1:テーブルを確認する
逃げろ
私の意見 *。 MYI
または(myisamchk -e *。 もし時間があれば、MYI(個人の意見)をおすすめします。 -s(サイレンス)オプションを使って不要な情報を無効にしてください。

MySQLがデータを保存するために使用するファイル形式は広範にテストされていますが、データベーステーブルが破損する原因となる外部条件は常に存在します。
mysqldプロセスは1回の書き込みで終了します。 コンピュータの予期せぬシャットダウン(例えば、コンピュータの電源が落ちた場合);ハードウェアエラー。
この章では、MySQLデータベースにおけるデータ破損のチェックと処理方法について説明します。 もしテーブルがひどく損傷しているなら、その原因を調べてみてください! G.1 MySQLサーバーのデバッグを参照してください。
クラッシュリカバリーを行う際には、データベースtbl_name内の各テーブルがデータベースディレクトリ内の3つのファイルに対応していることを理解することが重要です




先の:mysql #1062 –キー「PRIMARY」の重複エントリ「1」
次に:MySQLはリアルタイムで実行されるSQL文を閲覧します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com