phpで少し時間をおいてから処理を実行したい場合は、sleepを使います。
例)
[php]<?php
echo "最初の処理";
//3秒後に実行
sleep(3);
//処理再開
echo "遅延後の処理";
?>[/php]
こんなことが起こってはいけないのですが、、、、
昨日、サーバで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をしっかりバックアップしておけば、良いだけ、、という普通の教訓を得ました(_ _。)・・・シュン
この投稿へのコメント
コメントはまだありません。