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 コンポーネント ライブラリを構築する方法
目次導入従来のトランジションアニメーションCSS トランジションアニメーションjsアニメーション従来...
この記事では主に、クーポンの背景画像などでよく使われる CSS 円形ホローイングについて紹介し、皆さ...
序文この記事を書いた主な理由は、チームリーダーが、ブラウザを使用してコンピューターのカメラを呼び出し...
こんにちは、みんな!技術の話ばかりで髪は切らないトニーです。データベース関数は、何らかの機能を持ち、...
導入以前、ある問題に気づきました。学習ビデオを視聴しているとき、動きが遅すぎる、先生が黒板に書くのに...
目次1. 関数の定義1.1 JavaScript の関数1.2 TypeScriptの関数2. オプ...
プロジェクトの背景最近、webpackのバージョンが古いプロジェクトがあります。 リーダー層では今の...
目次モジュール化の基本概念モジュール化とは何かモジュール分解の利点Node.js のモジュール性No...
目次概要Canvas API: グラフィックスの描画パス線種矩形アーク文章グラデーションと画像の塗り...
この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有していま...
この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...
目次序文関連資料Vue プロジェクトが 2 次元ハイパーグラフを導入ハイパーグラフ 2D ケース引用...
目次チュートリアルシリーズ1. MySQL の紹介2. MySQLの開発履歴3. MariaDBの基...
Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...
使用例コードをコピーコードは次のとおりです。 <!DOCTYPE html> <!...