ターミナルから行うWordPressデータベースのエクスポートと復元の方法

SSHでサーバーへ接続して、WordPressデータベース(MySQL)のエクスポートをとったり復元したりする方法のメモです。

データベースのエクスポートとインポートにはphpMyAdminを使用する場合が多いかと思います。直感的に使えるのでとても便利ですが、データの容量が大きい場合等にエラーになってしまい使えない時があります。そんな時や、管理画面にログインするのが面倒な時にターミナルからダウンロード&アップロードすると素早くできます。

データの容量が大きくてダウンロードなどに不都合な場合は、SSHで対応する以外にも方法があるので、やりやすい方法で行うとよいと思います。

ターミナルからの操作は不慣れでいろいろなサイトを参考にさせて頂きました。ありがとうございます。

ターミナルからデータベースのバックアップをとる

ターミナルを起動してから、サーバーへSSHで接続します。

ssh ユーザー名@ホスト -p ポート

*ヘテムルはSSHで接続する場合には、ホストが別途SSH用のものになりました。また管理画面よりSSHアカウントを作成する必要があるようです。
ヘテムルの場合、SSHへの接続は以下のようなコマンドになります。

ssh ユーザー名@sshホスト名.heteml.jp -p 2222

サーバーのルートディレクトリにファイルをエクスポート

以下のようにコマンドを打ち込むとデータがエクスポートできます。このコマンドを実行する時点ではmysqlにはログインしていない状態でないとエクスポートできないので注意です。

mysqldump -h mysqlサーバーホスト名 -u ユーザー名 -p --default-character-set=binary -p データベース名 > wp_dump.sql

※–default-character-set=utf8 は文字化けしないようにするために指定。

mysqlサーバーホストとユーザー名はサーバーの管理画面などで確認できると思います。”wp_dump.sql” のファイル名は任意のもので大丈夫ですが、拡張子を .sql にします。上記のように打ち込むとサーバーのルートディレクトリに sql ファイルが生成されます。FTPなどでサーバーからダウンロードして完了です。

指定のフォルダへ入れる

生成されるファイルを指定のフォルダへ入れたい場合は以下のように、フォルダへのパスを指定して打ち込みます。

mysqldump -h mysqlサーバーホスト名 -u ユーザー名 -p --default-character-set=binary データベース名 > www/dump_file/wp_dump.sql

指定のフォルダへファイルが入ります

テーブルを指定する

テーブルを指定してダウンロードもできます。テーブルを指定するには以下のようにデータベース名の後にテーブル名を付けます。

mysqldump -h mysqlサーバーホスト名 -u ユーザー名 -p --default-character-set=binary データベース名 テーブル名> wp_dump.sql 

SQLファイルをデータベースへ復元する

ダウンロードしたSQLファイルをサーバーのルートディレクトリにアップロードし、ターミナルから以下のコマンドを打ち込みます。

mysql -h mysqlサーバーホスト名 -u ユーザー名 -p データベース名 < wp_dump.sql

エラー等がでなければ正常にインポートできているかと思います。

次に、wp_options テーブルの以下の項目を書き換えます。

option_name=siteurl(option_id=1)の option_value を書き換える。

update wp_options set option_value='http://ドメイン' where  option_name='siteurl' ;

option_name=home(option_id=37)の option_value を書き換える。

update wp_options set option_value='http://ドメイン' where option_name='home' ;

もしインストールフォルダを別にする場合は option_name=home の値を変えて下さい。

これでなんとかphpMyAdminを使わずにデータベースの移動ができました。なれないとターミナルからの操作はこわいですね。

Related Article

2 Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー jQueryプラグイン スライドショー トラブル コードサンプル コンテンツ Facebook 素材 php 引っ越し お知らせ JavaScript カテゴリー Shareボタン CSS IE 投稿タイプ レスポンシブ Photoshop seo Macアプリ サイドバー タクソノミー HTML5 WPセキュリティ Git カスタムメニュー ナビゲーション PHPリファレンス SVG API query_posts RSS WP使い方 iTunes データベース コメント function 条件分岐 get_posts() スマートフォン Sass/Compass moreタグ