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 コンポーネント ライブラリを構築する方法
目次スイッチも複雑なコードブロックもありませんPythonからのインスピレーション辞書を使用してスイ...
Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...
操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...
SVN サービスのバックアップ手順1. ソースサーバーとターゲットサーバーを準備するソースサーバー:...
概要Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用...
フロントエンド プロジェクトとバックエンド プロジェクトは分離されており、フロントエンドとバックエン...
標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしてい...
この記事では、Centos7.4 環境に lamp-php7.0 をインストールする方法について説明...
この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。まず、ラッパーを設定...
導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...
Python プログラムを書き、Mysql ライブラリを集中的に操作したためです。データ量が多くない...
この記事では、スライディングカルーセル効果を実現するためのjsの具体的なコードを参考までに共有します...
Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラ...
最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...
vue スキャフォールディング -> vue.cli大規模で完全に機能する Vue プロジェク...