物理ファイルからmysqlデータベースを復元する方法は?


12

システムを再インストールしたばかりで、バックアップをダンプしませんでしたが、以前のmysqlインストールの物理フォルダーが残っています。

現在の構成を復元および更新するために使用できますか?

回答:


11

可能ですが、提案されていません。私がそれを試みるつもりだったなら、ここに私がそれをする方法があります。

  1. mysqlをインストールし、可能な限り古いサーバーの近くで構成するか、同じ構成を使用します。起動、再起動し、ログインできることを確認してください。次に、mysqlをシャットダウンします。

  2. 古いインストールを邪魔にならないように移動する mv /var/lib/mysql /var/lib/mysql.orig

  3. rsyncするか、新しいファイルを所定の場所にコピーします。sudo rsync -av /old/mysql/ /var/lib/mysql/これが機能しない場合に備えて、元のファイルを現在の状態に保つことをお勧めします。

  4. sudo chown -R mysql: /var/lib/mysql次に、mysqlを起動します。ログを確認し、問題がないことを確認してから、Mysqlにログインします。突っ込んで、データがそこにあるように見えることを確認してください。

すべてが順調に進んだと仮定すると、設定する必要があります。すぐにMysqlの適切なバックを作成して、次回このようなナンセンスを行う必要がないようにします。


1
手順1の前に上記の手順2を実行するように注意します。mysqldのインストールと起動によって古いシステムデータベースが上書きされないようにする必要があります。
malcolmpdx

それは良い点です。/ var / lib / mysqlは元のインストールのものではないと想定しました。いずれにしても、これを開始する前に、元のファイルが/ var / lib / mysqlにないことを確認してください。元のデータをロードしようとする前に、新鮮なMysqlインスタンスから始めたいと思います。
カシャニ

Zend Server CEとMacOSの環境に適応するようにステップをわずかに変更してくれました。
ジョン

@Kashani私はこれらの指示(centos)に従いましたが、新しいサーバーではテーブルが表示されますが、データとテーブルは表示されません。フォルダー内のすべてのテーブルが表示されません(正しい文字セットのように見えます)
-K2xL

2
@ K2xLあなたが何を見ているのか分かりません。表示されている内容とその達成方法の詳細を含む新しい質問を作成する場合は、喜んでご覧ください。Innodbテーブルには、innodb_file_per_tableを使用しているかどうかに関係なく、メインのibdataファイルにデータが保存されているため、上記の方法は個々のデータベースではなく、MySQLインストール全体に対してのみ機能します。
カシャニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.