WordPress本番→ローカル移行_プラグインなし
#WordPress 10回ぐらいやっても忘れる。
前提:AIO WP Migrationを使えるならそちらを使う
使えないから(無料版の容量オーバー)手動でやる
(1) 本番環境:WP本体
本番環境から全部FTPでダウンロードしてくる
(2) 本番環境:データベース
エクスポート
「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」にチェック
「作成するクエリの最大長」を長めに設定(1000以上)
(3) Local:WP本体
(1)で持ってきたデータを全部入れる
(4) Local:データベース
4-1. インポート (本番環境のデータベース名がインポートされる)
4-2. DBのテーブル 書き換え
(接頭詞_)options (例: wp_options)のテーブルから次の項目をLocalのURLに書き換える
siteurl → http://xxx.local
home → http://xxx.local
4-3. wp-config.php 書き換え
Localの wp-config.php の 'DB_NAME' を、4-1でインポートしたデータベース名に変更
code:wp-config.php
/** The name of the database for WordPress */
// define( 'DB_NAME', 'local' );
// デフォルト名: 'local' ここを適宜変更
define('DB_NAME', 'HONBAN-KANKYO-NO-DATABASE-NAME');
// ほかの項目は Local のデフォルトから変更しない
/** MySQL database username */
define( 'DB_USER', 'root' );
/** MySQL database password */
define( 'DB_PASSWORD', 'root' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
(5) Local:WPログイン後
Search Regex で 本番環境URLをローカルURLに置換する
(これDBをエディタで書き換えてもいいのでは?)
---
既存のLocal開発環境があって、本番環境からデータベースを同期したいとき
(1) 本番環境:WP本体
とりあえずwp-uploadsだけ持ってくる
(2) 本番環境:データベース
エクスポート
「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」にチェック
「作成するクエリの最大長」を長めに設定(1000以上)
(3) Local:WP本体
wp-uploadsの内容をFTPでDL
(4) Local:データベース
書いたとおりにする
(5) Local:WPログイン後
Search Regex で 本番環境URLをローカルURLに置換する
トラブル:ログインできなくなった
メールでパスワード再発行した
メーラーに届いていない(Localのメールサーバーだからあたりまえ)
Local のメニュー Utilities > Open MailHog(ローカル環境でメール送信テストを行うツール)から、パスワードリセットのメールを開くことができた
パスワードリセット(以前のPWを再入力)
ログインできた
?
今後の目標
めんどくさすぎるので wp-cli 使おうかな(2025/05/04現在まだ作業していない)
https://motoki-design.co.jp/wordpress/wordpress-sync-data/