wordpressのデータベース バックアップ(保存)/リカバリー(復元) phpmyadmin が、だめなら、この方法があります。


スポンサーリンク

wordpressのデータベース バックアップ(保存)/リカバリー(復元) phpMyAdmin の
エクスポート、インポートが、だめなら、この方法があります。

wordpressのデータベース バックアップ(保存)/リカバリー(復元) となると
phpMyAdmin が最もスタンダードで、最も安全な方法。

だけど、データベースが大きくなると phpMyAdmin のエクスポートはうまくいっても
インポートで失敗します。

FTPでアップロードしたファイルを処理してくれないかな~と思いますよね?


wordpressのデータベース バックアップ(保存)/リカバリー(復元) phpmyadmin が、だめな時の方法


それは、つまり、phpMyAdmin の中で使っている(たぶん)、mysqldump と mysql という mySQLのコマンドを使う方法。

多くのサイトで、この方法を公開しているんですけど、サーバーに入らないといけないとか
telnet とか、わけわかめの単語やサーバーがサポートしていないコマンドとか敷居が高い説明。

自分じゃできないと思ってしまいます。

でも、このサイトでは、そんな方でもできる方法にして書きました。

必要な情報は、
・データべースユーザー名
・データベースパスワード
・データベース名
・データベースホスト

これはね、wp-confing.php に書かれてるから、 FTPでサーバーに入って
wp-config.php をダウンロードしてみてください。



wordpress のデータベースをバックアップするコマンドは、mysqldump というコマンド


で、普通書かれているのは、mysqldump のパラメータ。

このサイトでは書きません。

その代り、

#!/usr/bin/perl —
#
#
$username = ""; # -u : ユーザー名
$password = ""; # -p : パスワード
$localhost= ""; # -h : ホスト
$databese = ""; # databasename : 特定のデータベース
$cmd_line = "";
$cmd_line.= "mysqldump";
$cmd_line.= " -u ".$username; #username";
$cmd_line.= " -p" .$password; #password";
$cmd_line.= " -h ".$localhost; #databasehost";
$cmd_line.= " " .$databese; #databasename";
$cmd_line.= " > mysqldump.sql";
system($cmd_line);
#———————————————————–
# ENDING VIEW
#———————————————————–
print "Content-type: text/html\n\n";
print <<"EOM";
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<TITLE>$htmltitle</TITLE>
</HEAD>
<BODY>
SAVE END.
</BODY>
</HTML>
EOM
}
# ============================================================================


上のソースをコピーして、テキストエディタ(できれば、テラパッド)、(メモ帳とかワードじゃダメ)に張り付けて、


この部分をあなたのデータベースの情報に書き換えてから
$username = “ここにデータベースユーザー名”; # -u : ユーザー名
$password = “ここにパスワード”; # -p : パスワード
$localhost= “ここにホスト”; # -h : ホスト
$databese = “ここにデータベース名”; # databasename : 特定のデータベース
UTF-8 で保存します。(ダブルクォートの間に値を書いてください。でないと文法エラーで落ちます)

テラパッド(検索すれば窓の杜などでダウンロード先が表示されます)のUTF-8保存は、↓のようにします。




保存ファイル名は、dbsave.cgi という名前にしてください(別になんでもかまわないけど拡張子は perl コマンドであることをはっきりさせないといけないので .cgi もしくは、.pl)

このテラパッドで保存したファイルをサーバーにアップロードして起動します。

起動した時点でバックアップが行われます。


上記は、perl の場合、php の場合は、
<?php
$username = ""; // -u : ユーザー名
$password = ""; // -p : パスワード
$localhost= ""; // -h : ホスト
$databese = ""; // databasename : 特定のデータベース
$cmd_line = "";
$cmd_line.= "mysqldump";
$cmd_line.= " -u ".$username; //username";
$cmd_line.= " -p" .$password; //password";
$cmd_line.= " -h ".$localhost; //databasehost";
$cmd_line.= " " .$databese; //databasename";
$cmd_line.= " > mysqldump.sql";
$stat = exec($cmd_line);
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<TITLE>$htmltitle</TITLE>
</HEAD>
<BODY>
SAVE END. STAT=<?php echo $stat; ?>
</BODY>
</HTML>
<?php
}
?>



wordpressのデータベース リカバリー(復元) phpmyadmin が、だめなら、この方法


バックアップ同様でリカバリー先のサーバーに空のデータベースを作っておいて、
上のプログラムの情報を設定してから、以下の部分を書き換えて 例えば、dbload.cgi とか
recovery.php とか適当名前をつけて起動します。
<?php
$username = ""; # -u : ユーザー名
$password = ""; # -p : パスワード
$localhost= ""; # -h : ホスト
$databese = ""; # databasename : 特定のデータベース
$cmd_line = "";
$cmd_line.= "mysql"; // mysqldump ではなく mysql に変更
$cmd_line.= " -u ".$username; #username";
$cmd_line.= " -p" .$password; #password";
$cmd_line.= " -h ".$localhost; #databasehost";
$cmd_line.= " " .$databese; #databasename";
$cmd_line.= " < mysqldump.sql"; // > ではなく < に変更
$stat = exec($cmd_line);
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<TITLE>$htmltitle</TITLE>
</HEAD>
<BODY>
SAVE END. STAT=<?php echo $stat; ?>
</BODY>
</HTML>
<?php
}
?>




wordpressのデータベース バックアップ(保存)/リカバリー(復元) phpmyadmin が、だめなら、この方法のまとめ


基本、多くのサイト出の情報が、サーバーに依存するとか情報が敷居高く書かれているだけで、シェルコマンドで実行できるコマンドでMySqlはバックアップもリカバリーも出来てしまいます。

あとは、出来上がったファイルをFTPで新しいサーバーにもっていってリカバリーすればいい。

拍子抜けするほど簡単です。

さらに細かな設定をしたくなったら、サイト上のパラメータ説明を読んでください。

mysqldump も mysql もいろんな設定ができます。

逆にいうと phpMyAdmin のエクスポート、インポートがなんであんなに選択枝があるのかも理解できると思います。

設定しなければ、単に データベースユーザー名、パスワード、データベース名、ホストの指定だけ。

入っているデータベース全部なら データベース名の代わりに -A としてあげるだけで根こそぎバックアップ、リカバリーができちゃいます。

しかも、サーバー上で完結するので高速。

phpMyAsmin のエクスポート、インポートで失敗したら、一度は、この方法にチャレンジしてください。


ただ、ワードプレスが生きている状態でのバックアップ、リカバリーならば、普通に プラグインを使った方が楽です。

wordpress 引っ越し プラグイン

スポンサーリンク