サーバーの MySQL バージョンと MAMP 環境の MySQL バージョンは同一ですか? 少なくとも、メジャーバージョンは揃ってないと不具合が起きそうです。
あと、ローカル環境をそのままサーバーに持っていくと、wp_options の siteurl や home 設定値、投稿にある URL や GUID がローカルのままになっていると問題が起きそうです。
WordPress の場合、ローカルで環境構築して、DB をそのまま本番環境に持っていくのは、あまりよくありません。ステージングするのはいいのですが、 DB は一から作り直した方がよいです。「wordpressビジネスブログ標準ガイドブック」にそういう手法が書いてあるとしたら、それはあまりよくないですね 😉
# WordPress の作りがよくない、とも言えますが 😉
lilyfanさん いつもありがとうございます
調べてみたのですがよくわからなくて、
MAMPの方は
MySQL クライアントのバージョン: 5.0.41
サーバのバージョン: 5.0.41
PHP 4.4.7 & 5.2.3
と書かれており、
さくらレンタルサーバの方は
MySQL クライアントのバージョン: 4.1.20
サーバのバージョン: 4.0.27
PHP 4.4.8
と書かれています。
どれがMySQLのバージョンなのかわかりませんが、どうやらバージョンは一緒ではなさそうです。
そして、エクスポート機能で作成した、拡張子が.sqlのデータ内において、
urlを変更するのはわかるんですが、あと、
(”’root”@”localhost”’, NULL, ‘SELECT’, ‘YES’);
みたいに、localhost〜と書かれてあるのをどう書きかえたらいいのか全然わかりません。
この、ローカル環境からサーバへ持って行くためのマニュアルをいろいろググったのですが、見つけることができませんでした。
もしご存じでしたら、お教えいただきたく存じます。
よろしくお願い申し上げます。無理ばっかり言ってすみません m(_ _)m
サーバのバージョン: 4.0.27
これはなかなか厳しいですね。MySQL は 4.0 と 4.1 で大きく違っています。ローカル環境の方を MySQL 4.0 にした方がいいですね。
拡張子が.sqlのデータ内において、urlを変更するのはわかるんですが、
実は単純に URL を変更するだけではうまくいかない場合があります。wp_postmeta の内部など、PHP でシリアライズしている部分は、バイト数を表わす部分も直す必要があります。これはテキストエディターで単純に置換するわけにいかないです。
なので「ローカル環境をそのまま本番環境にインポートするのは無理」と考えています。
(”’root”@”localhost”’, NULL, ‘SELECT’, ‘YES’);
これはどこにあったデータでしょう??
> ローカル環境の方を MySQL 4.0 にした方がいいですね。
といっても、MAMPの旧いバージョンが手に入るでしょうか。。。
MySQLを単独で動かすだけの知識はありません。。。
> これはどこにあったデータでしょう??
これは、phpMyAdminのエクスポート機能で出来上がったファイルの中身の一部です。
テーブルのデータをダンプしています〜から始まり、これに似たような文が山ほど羅列されています。
> ローカル環境をそのまま本番環境にインポートするのは無理
そうですか。例のwordpressビジネスブログ標準ガイドブックには、単純にローカル環境で確認したものをサーバ用に修整してアップすればよい旨の記述があったので、楽勝じゃんとたかをくくってたのですが。。。
単純にローカル環境で確認したものをサーバ用に修整してアップすればよい旨
実際に記述を見ていないので何とも言えませんが、その「修正」が一筋縄ではいかないはずです。ローカルでテストしてから本番環境に移動するという考え方自体はいいのですが、WordPress のテーブル構造まできっちり考えると、バッドノウハウが多数必要になってしまいます。
SQL を単純に置換させるならば、ローカル環境の URL と本番環境の URL の文字数が同じになるようにすれば OK です。例えば、http://example.com/ が本番とすれば、http://web.example/ というローカル環境を作る手があります (“www” としてしまうと WordPress が “www” を省略する場面があるので “web” とします)。
テーブルのデータをダンプしています〜から始まり、これに似たような文が山ほど羅列されています。
具体的に、何テーブルなのか分かりませんか?? データー的にはユーザー定義っぽいので、書き換えるとすれば、”root”@”localhost” から実際の管理者メールアドレスに変更すればよさそうですが。
lilyfanさん どうもありがとうございます
素人の私には、手作業で一つずつ移動させるしかなさそうですね。
ありがとうございました。