mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。 しかし、場合によっては MySQL が失敗し、この方法が実行できなくなることがあります。 障害が発生すると、通常は新しい MySQL インスタンスを使用して現在のデータを復元します。 テーブルを作成することは非常に重要なステップであり、テーブル構造を見つけるための他の方法が必要です。 テーブル構造はどこで定義されていますか? 通常、関心のあるユーザー データは、実際には MySQL データ ディレクトリに保存されます。 mysql データ ディレクトリのファイル構造は非常に明確です。 • カタログ マッピング データベース テーブルで定義された構造は frm ファイル内に存在し、もちろんメタデータを管理する ibdata にもレコードが存在します。 frm ファイルが存在する場合、テーブル構造を復元するのは比較的簡単です。 テーブル構造の解析 以下は、frm ファイルから create table コマンドを解析する 3 つの方法です。 mysqlfrm mysqlfrm は、mysql ユーティリティ ツールの 1 つです。 mysql ユーティリティには python2 環境が必要ですが、インストールは非常に簡単です。 $ tar -xvzf mysql-ユーティリティ-1.6.5.tar.gz $ cd mysql-ユーティリティ-1.6.5 $ python setup.py ビルド $ python setup.py をインストール mysqlfrm は、frm を解釈するための 2 つのモードをサポートしています。 直接分析 このモードは比較的簡単で、frm ファイルをバイトごとに分析し、できるだけ多くの情報を抽出します。 このモードでは、--diagnostic パラメータを使用する必要があります。 $ mysqlfrm --diagnostic /data/sakila/actor.frm MySQL サンプル分析 このモードでは、新しい mysql インスタンスを使用して frm 分析作業を完了します。 1. 現在のMySQLサービスから起動し、--serverを使用してMySQLサービスを指定します。 $ mysqlfrm --server=root:pass@localhost:3306 --port=3310 /data/sakila/actor.frm 次に、新しいMySQLインスタンスを起動し、--basedirを使用してMySQLプログラムパスを指定します。 $ mysqlfrm --basedir=/usr/local/bin/mysql --port=3310 /data/sakila/actor.frm --port は、現在のポート 3306 との競合を避けるために、新しいインスタンスのポートを指定します。 dbsake これは偶然発見したツールです。ドキュメントでは次のように紹介されています。 dbsake - MySQL 用の (s)wiss-(a)rmy-(k)nif(e) 作者は MySQL に非常に精通した人物に違いありません。このツールはダウンロード、インストールから使用までシンプルでわかりやすいです。 $ curl -s get.dbsake.net > dbsake $ chmod u+x dbsake $ ./dbsake frmdump [frmファイルパス] オンラインサービス こうした問題に焦点を当てたオンラインサービスもいくつかあります。 「Recover Structure -> from .frm file」エントリから frm をアップロードすると、create table コマンドが取得されます。 最後に これを使用すると、複数のツールをテストし、どのツールの回復コマンドがより完全で望ましいかを比較し、最適なものを選択できます。 参照: •mysqlfrm 公式ドキュメント •dbsake プロジェクト ドキュメント 要約する 上記は、frm ファイルから MySQL のテーブル構造を復元するために紹介した 3 つの方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない
>>: DevUI で独自の Angular コンポーネント ライブラリを構築する方法
Dockerコンテナ接続1. ネットワークポートマッピングPythonアプリケーション用のコンテナを...
Dockerfileの作成yumソースを設定する cd /tmp/docker vim Docker...
CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
1. Dockerのインストールと起動 yum で epel-release をインストールします ...
最近、shake.jsを使用して、shakeに似た機能を作成しました。ただし、shake機能はios...
目次序文エラー境界エラー境界を超えてトライ/キャッチwindow.onerror、エラーイベント未処...
序文最近CocosCreatorを学びたいと思ったので、エディターをダウンロードして起動しました。誰...
以前にも紹介しました: docker (一般的なアプリケーションのデプロイ): docker dep...
<br />このセクションでは、XHTML でテキストの書式設定と特殊文字を実装する方法...
序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...
デバッグブランチプロジェクトの通常の開発中に、以前にリリースされたバージョンにバグがある場合がありま...
HTML に画像を挿入するには、画像を表示するための HTML タグが必要です。これは、img タ...
CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...
js興味深いカウントダウンケース、参考までに、具体的な内容は次のとおりですコード: <!DO...