ども。
本番環境、開発環境がそれぞれどうなっているのか、
きちんと書かれていないので、適切な回答は得られませんよ。
本番環境、開発環境のそれぞれについて、
Webサーバ、DBサーバ、データベース、データベースユーザ、プレフィックス(接頭辞)、
Wordpressのインストールディレクトリ
のそれそれが、何が同じで、何が異なっているのかきちんと整理して書いてください。
おそらく、何が同じで何が違っているのか、文面を読む限りごっちゃになっているようです。
以下、あくまで想像して話をすすめますが、
Access denied for user ‘開発環境のユーザー名’@’%’ to database ‘本番環境のDB’
とエラーが出るということは、
本番環境のDBと開発環境のDBは違うということでしょうか。
また、本番環境のユーザー名と開発環境のユーザー名も違うということでしょう。
であれば、本番サイトのDBをエクスポートしたダンプファイルに、本番環境のDB名が
入っていて、開発環境のユーザーには本番環境のDBへのアクセス権が無いために
エラーが出ています。
ここで、間違っても開発環境のユーザーに本番環境のDBへのアクセス権を与えてはいけません。操作を間違えると、開発環境のデータが意図せず本番環境に反映される事故に
つながります。
解決方法は、ダンプファイルを修正することです。
おそらく、ダンプファイルは単にSQL文が書かれたテキストファイルのはずですから、
テキストエディタ(UTF-8等の文字コードを扱えるもの)で開いて、
本番サイトのDB名を開発環境のDB名に置換します。
またあわせて、
本番環境と開発環境で、以下のものが違えば、置換します。
・URL
・Wordpressのインストールディレクトリ
・プレフィックス(接頭辞)
修正後に開発環境のDBに流せば、インポートできるはずです。
DBインポートに成功してもプラグインは初期設定に戻るらしいのですが、皆さんはどのようにプラグインを本来の設定に戻していますか?
基本的に、ファイルで設定項目を持つようなもの以外は、DBに設定値を持っていますから、正しくDBをインポートすればプラグインの設定も移せます。
ただし、wp_optionsテーブルに設定値を持つプラグインやウィジットは、PHPでシリアライズしている都合で、URLの文字数が違うと設定値が消えてしまうことがあります。
この場合は、データベースを直接操作するか、両方のダッシュボードを開いて、見比べながら設定しなおすしかありませんね。
参考になれば。
回答ありがとうございます。とても参考になりました。
少ない情報の中推測して書かれていましたが、推測とおりでしたのでとても分かりやすかったです。
私の場合、ダンプファイルを直接修正しないといけないのですね。(ユーザー名、DB名など本番と開発で分けているため)
aimaimさんや他の方は本番環境から開発環境へ移行する場合はどのように環境を整えて移行するのでしょうか。是非教えて頂ければと思います。
本番環境から開発環境へ移行する場合はどのように環境を整えて移行するのでしょうか。
質問の意図が良く分からないのですが・・・
普通、開発環境でほとんどできてから、本番環境に移しますし、移行自体に環境というほどのものを用意しないので。
どういう風に移行するかというと、私の場合は、
開発環境が、ローカルのことも、別サーバのこともありますが
各環境間のデータ移行は、基本的にデータベースをコマンドラインで操作してます。
よく使うコマンドを環境に合わせて自動的に吐き出すツールは作ってますが、
操作ミスでデータベースを消すことを防ぐために、
あえて完全に自動化せずに、手作業の部分を作ってます。
フォーラムのルールとして、解決していたら、解決済みにしてくださいね。
では。
>普通、開発環境でほとんどできてから、本番環境に移しますし、移行自体に環境というほどのものを用意しないので。
開発環境で出来てから本番へ移行するのが普通ですよね。質問の意図が分からなくて申し訳ございませんでした。とても参考になりました。ありがとうございます。