web-dev-qa-db-ja.com

輸出する WP Vagrant BoxでWP-CLIを使用してインポートするためのデータベース

問題

WP-CLIを使用した新しい環境になったので、dbimport / export WP-CLIがインストールされていないWebサイトからデータベースをインポートする必要があります。

質問

WP-CLIインポートに最適なNon-WP-CLIエクスポート方法は何ですか?


Backstory:私はローカルテストのために Basic WordPress Vagrant Environment を使っていて、最近作者は WP-CLI を追加しました。もっと遊んでいるほど、私は恋をしています。 bashスクリプト を作成して、名前だけを使って新しい Vagrant ボックスを作成することもできました。


WordPress exportパネル または script を使ってWXR形式でエクスポートしてから、WP-CLIの import を使用するほうがよいでしょうか。

require ABSPATH . 'wp-admin/includes/export.php';

// Buffer output
ob_start();

// Generates the WXR export file for download.
$defaults = array (
    'content'    => 'all', 'author' => false, 'category' => false,
    'start_date' => false, 'end_date' => false, 'status' => false,
);

export_wp( $defaults );

// Get the buffer contents
$xml_export_data = ob_get_clean();
echo $xml_export_data;

あるいは、WP-CLIの dbエクスポートコード を利用して、 import の準備ができたファイルを作成することができます。

$ wp db export /vagrant/site/site_export.sql
Success: Exported to /vagrant/site/site_export.sql

私のメインサーバー(最も重要なサーバー)への最も簡単なルートはSSH経由で直接 mysqldump を実行することです。

# backup:
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

# restore:
mysql -u root -p[root_password] [database_name] < dumpfilename.sql

通常のSQLダンプがWP-CLIのインポートに必要なすべての値を保持することが確実ではないです。


更新

単純なmysqldumpが唯一の必要なものです。インポートする前にすべてのファイルを転送する必要があると思います。投稿しておきますが、これは2行のプロセスになる可能性があります。

3
jgraup

ショート

エクスポート

Sudo mysqldump -u root -pPASSWORD DBNAME > filename.sql

インポート

wp db import filename.sql


長い

それで、これは非常に痛みがないことがわかります。サーバーダンプはまさに WP-CLIimport に必要なものです。

_ remote _

  1. Sudo mkdir backup
    • ファイル用のディレクトリを作成します。
  2. Sudo chown -f -R ec2-user:group backup
    • 私のSSHユーザーのディレクトリにアクセス権を設定します。
  3. cd backup
    • 直接入力してください
  4. Sudo mysqldump -u root -pPASSWORD DBNAME > filename.sql を実行してください。
    • 最初はパーミッションエラーが出ていましたが、それは私のEC2-USERが出力ディレクトリの制御を必要としていたためです。

_ local _

  1. filename.sqlを私のVagrantフォルダにダウンロードしてください
  2. vagrant ssh
    • wP-CLIアクセス用のボックスに
  3. wp db import /vagrant/filename.sql
  4. wp search-replace old-site.com new-site.dev --test-run
    • 最初に操作をテストする
  5. wp search-replace old-site.com new-site.dev

ノート

  • プラグインとテーマが正しいディレクトリにあることを確認してください
  • PHPコードにエラーがあると、WPがロードされるため、WP-CLIが破損します。
  • WPコーデックス 推奨 GUIDを変更しないように。検索でGUIDをスキップしてwp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guidに置き換えることができます。
2
jgraup