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 コンポーネント ライブラリを構築する方法
導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...
JavaScriptでよく使われるいくつかの文字列メソッド文字列は読み取り専用データです。よく使用...
まずコードを書いて (int i=0;i<1000;i++){ (int j=0;j<5...
この記事では、参考までにMySQLの無料インストール構成チュートリアルを紹介します。具体的な内容は次...
目次概要単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...
MySQL x64 はインストーラーを提供していません、インストーラーを提供していません、インストー...
この記事では、Docker を使用して Centos6 に Zookeeper をデプロイする方法に...
目次序文: 1. データ移行について2. 移行計画と留意点要約:序文:日常業務では、テーブル、データ...
1. KVM の概要カーネルベースの仮想マシンの略称は、Linux 2.6.20 以降のすべての主要...
目次1. プロセス制御2. シーケンシャルプロセス制御3. 分岐フロー制御if文1. 支店構造2. ...
エラーの説明: 1. Linux (CentOS 7 64) システムに Nginx (1.18.0...
この記事の例では、画像の切り取りを実現するためのjsの具体的なコードを参考までに共有しています。具体...
目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...
1. Nexusの設定1. Dockerプロキシを作成する外部ネットワーク ウェアハウスからローカル...