mysqlデータの移行

こんなことが起こってはいけないのですが、、、、

昨日、サーバでsudo関連のプログラムをfedoraサーバでテストしてたのですが、その際に、誤って、想定してないような値を渡してしまい、サーバ上のディレクトリやファイルのパーミッションがおかしなことになってしまいました。

rootでもログイン出来なくなってしまい、全てがおかしくなったのか、部分的におかしくなったのかも把握できず、とりあえず、初期化するしかないかなと思いつつも、調べて、調べて、試行錯誤してました。

そんな状況で、どうにかこうにか /var/lib/mysql 内のデータをFTP経由で抜き出しました。
それだけでは、DBのバックアップは出来ないだろうなと思いつつも、違うサーバ上の同じ場所(/var/lib/mysql)に置いてみると、普通にphpmyadminでデータが読み込まれました。
ただ、この状態では、データの参照は出来るものの、phpmyadmin上からデータの編集、削除や、phpプログラムからデータを追加することも出来ない状態でした。(read onlyというエラーが出ます)

これではあまり意味がないので、また試行錯誤していました。

新しいサーバ上のphpmyadminから参照しか出来ないread onlyのDBエクスポートし、/var/lib/mysql から、さきほど置いた古いDB(old_db)のディレクトリを削除。
この時点で、新しいphpmyadmin上には、古いDB(old_db)の情報はなくなっています。
その状態で、新しいサーバに古いDBと同じ名前(old_db)のDBを作り、エクスポートしておいた、ものをインポートすると、編集や削除も出来る状態で、新しいphpmyadminに移行することが出来ました。

phpプログラムからのデータの追加や削除なども出来ました。

朝から夜までずっと調べて、試して、丸一日かけて、やっと辿り着きました・・・。

今回は、DBのバックアップなどをしてなかったので、こんな状況になりましたが、普段からDBをしっかりバックアップしておけば、良いだけ、、という普通の教訓を得ました(_ _。)・・・シュン

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。