トピック投稿者
bc
(@bcures)
補足でございます。
文字化けしている状態ではありますが、WordPressのWEBページを見てみましたところ、データベース上でインポートできているはずの情報が反映されておりませんでした。
データベースにて復元した記事をWEBサイト上でも反映させるために、なにか他の作業が必要となりますでしょうか。
いろいろと検索してみましたが、データベースの復元後の作業等について解説されているサイト様が見つかりません。
この情報についても解決策がありましたら、ご伝授頂けますと幸いでございます。
よろしくお願い申し上げます。
トピック投稿者
bc
(@bcures)
いろいろ試しているものの、現在もまだ解決できておりません。
どなたかお助け頂けませんでしょうか。
PHP Version 4.4.9
phpMyAdmin – 2.11.9.3
MySQL クライアントのバージョン: 5.0.67
使用中の PHP 拡張: mysql
上記も補足事項となります。
よろしくお願い致します。
トピック投稿者
bc
(@bcures)
おはようございます。
さっそくのレスポンスありがとうございます。
上記の説明にもございますように、すでにMeはFTP上から削除されております。
可動はしておりません。
また、こちらも上記説明の通り、1つのデータベースに複数の接頭語を使い分けて、CMSを複数入れております。
Meもデータも、WordPress3.1のデータも、同じデータベース内にございます。
上記情報と同じとなります。
> PHP Version 4.4.9
> phpMyAdmin – 2.11.9.3
> MySQL クライアントのバージョン: 5.0.67
> 使用中の PHP 拡張: mysql
Meの文字コードでございますが、通常のデータベースのエクスポート時に文字化けしておりましたので、恐らくEUC-JPだと思われます。
よろしくお願い致します。
> MySQL クライアントのバージョン: 5.0.67
クライアントではなくサーバーのバージョンを書いてください。
上記の説明にもございますように、すでにMeはFTP上から削除されております。
可動はしておりません。
現在の MySQL サーバー上で Me が正しく動いていた確証はありますか?
Me の wp-config.php もしくはそこに記述されていた接続情報は保存してあるのでしょうか?
以下を教えてください。
- phpMyAdmin でエクスポートしたデータをテキストエディタで開いて文字化けなく読めるか?また読めるならその文字コードは何か?
- エクスポートしたデータの中に latin1 もしくは utf8 という文字列はあるか?あればその前後の文字も書いてください。(例: CHARSET=latin1)
トピック投稿者
bc
(@bcures)
Kuraishi様、ありがとうございます。
サーバー担当者に問い合わせたところ、
サーバーのバージョンも、MySQL クライアントのバージョン: 5.0.67と同様で
> バージョン: 5.0.67
との回答がございました。
こちらで確認できるものを別途補足致します。
> localhost
> サーバのバージョン: 5.0.67-log
> プロトコルバージョン: 10
> サーバ: Localhost via UNIX socket
> phpMyAdmin – 2.11.9.3
> 言語 日本語
Meだった時、WordPressは本体もプラグインも含め、正常に稼働していたとのことでございます。
バックアップファイルをxml形式で管理画面から落とした際も、エラーなく落とせたとのことでございます。
Meを削除する前のバックアップデータは保管されておりました。
中身を確認しましたところ
> <?php
> mb_language(‘Japanese’);
> mb_internal_encoding(‘UTF-8’);
> // ** MySQL settings ** //
> define(‘DB_NAME’, ‘wordpress’); // The name of the database
> define(‘DB_USER’, ‘wordpress’); // Your MySQL username
> define(‘DB_PASSWORD’, ‘***********’); // …and password
> define(‘DB_HOST’, ‘*************’); // 99% chance you won’t need to change this value
> define(‘DB_CHARSET’, ‘utf8’);
> define(‘DB_COLLATE’, ”);
> ~~ 省略 ~~
> require_once(ABSPATH.’wp-settings.php’);
> ?>
と書かれておりました。
2008年に保管されていたバックアップとのことです。
ファイルを見るとUTF-8になっています。このあたりに原因があるのかもしれません。
*PASSとHOSTは伏せ字にします
外注で新しいブログ設置を依頼されておりますため、曖昧な回答になり申し訳ございません。
> ■phpMyAdmin でエクスポートしたデータをテキストエディタで開いて文字化けなく読めるか?また読めるならその文字コードは何か?
上記確認しましたところ、文字化けなく読めるコードはEUC-JPでした。
> ■エクスポートしたデータの中に latin1 もしくは utf8 という文字列はあるか?あればその前後の文字も書いてください。(例: CHARSET=latin1)
エクスポートしたデータの中に、
/*!40101 SET NAMES utf8 */;
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=294 ;
こういった記述がございました。
UTF-8と書かれておりますが、エンコーディングをUTF-8にすると文字化けしてしまいます。EUC-JPで開くと文字化けなく読めます。
トピック投稿者
bc
(@bcures)
Kuraishi様
ありがとうございます。
対応が遅くなりまして申し訳ございません。
上記のことを試そうとしたところ、
新規データベースを作成する:
特権なし
となっておりました。サーバー管理者だけが操作することができるようです。
こちらで新規にデータベースを作れないような仕様になっておりましたうえ、上記のことを試すことができませんでした。
新しく入れたWordPressは、2001_blog
こちらが運用前で空にしても問題ないのであればこちらで試してみてください。
それが無理な場合は XAMPP などのローカル環境で行ってはいかがでしょう?
この作業は本番環境で行う必要はありません。
トピック投稿者
bc
(@bcures)
Kuraishi様
ありがとうございます。
上記のことを、XAMMPを使って検証致しました。
Meのデータベースから落としたインポートファイルは今回CSV形式となっております。
CSVファイルをEUC-JP→UTF-8に変換し保存。
↓
XAMMPで空のデータベース(照合順序: utf8_general_ci)を作り、上記のCSVデータをインポート。
・phpMyAdmin内の表示でデータは文字化けなく読めております。記事が一部消滅しているといった現象もございません。
・構造で varchar、text フィールドの照合順序が utf8_general_ci・・・
utf8_general_ciとなっております。
詳細
□COL 1|varchar(931)|utf8_general_ci|はい|NULL
□COL 2|varchar(1147)|utf8_general_ci|はい|NULL
のようになっております。
環境情報
【MySQL】
サーバ: localhost via TCP/IP
サーバのバージョン: 5.5.8
プロトコルバージョン: 10
ユーザ: root@localhost
MySQL の文字セット: UTF-8 Unicode (utf8)
【Web サーバ】
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1
MySQL クライアントのバージョン: mysqlnd 5.0.7-dev –
PHP 拡張: mysql
【phpMyAdmin】
バージョン情報: 3.3.9
Meのデータベースから落としたインポートファイルは今回CSV形式となっております。
CSV形式ですか。wp_posts、wp_comments などのテーブルはありますか?
フィールドも含めエクスポート元のデータベースと同じ構造になっていなくてはなりません。
完全な形でインポートできない場合は SQL 形式でエクスポートとインポートを行ってください。
トピック投稿者
bc
(@bcures)
Kuraishi様
ありがとうございます。
SQL形式にて、エクスポート&インポートを試してみました。
コメントスパムが多くファイル容量が大きいとエラーが出てしまうため
commentmeta
comments
のテーブルはインポートしておりません。
links
options
postmeta
posts
terms
term_relationships
term_taxonomy
usermeta
users
上記テーブルにておいて、種別varchar→utf8_general_ciであることを確認致しました。
SQLデータも、表示で文字化けなく読めております。
SQL形式にて、エクスポート&インポートを試してみました。
コメントスパムが多くファイル容量が大きいとエラーが出てしまうため
commentmeta
comments
のテーブルはインポートしておりません。
制約のないローカル環境で一通りの流れをやってしまいたいので、すべてのテーブルをインポートしてください。
エラーの解決が必要である場合は状況をもっと具体的に書いてください。
新しく入れたWordPressは、2001_blog
確認ですが、2001_blog のブログは運用中で新しい記事があり、そこに ME の旧記事をマージするというのがやりたいことでしょうか?
トピック投稿者
bc
(@bcures)
Kuraishi様
ありがとうございます。
コメント関連のテーブルも含めた状態でインポートしますと、
「アップロードしようとしたファイルが大きすぎるようです。」
というインポートの際にエラーが出てしまい、インポート作業を完了させることができない状況です。
2001_blogは現在、運用中ではありますが、記事は1つもございません。
ここにMeのデータを引っ張ってきて、マージしたいと考えております。
こちらは最初の記事でも説明しました通り、
Meも、今回新しく入れたWordPressも、いずれも同じデータベース内にございます。
接頭語を変えて、1つのデータベースに複数のサイトのWordPressが入っている状況でございます。
「アップロードしようとしたファイルが大きすぎるようです。」
というインポートの際にエラーが出てしまい、インポート作業を完了させることができない状況です。
php.ini で以下設定の値を大きくして apache を再起動して試してみてください。
upload_max_filesize
memory_limit
post_max_size
完全なインポートができたらデータベース全体を SQL 形式で一括(全てのテーブル含む)で エクスポートしてください。
エクスポートしたファイルは作業をやり直す場合に利用する可能性がありますので複製してバックアップを保存しておいてください。
次にこのデータベースに最新の WordPress から接続できるよう設定します。
エラー等でても構いませんのでとりあえず以下手順を試してください。
- WordPress 3.1.1 日本語版 を入手し XAMMP Apache の公開ディレクトリに展開する。
- Me の wp-config.php の設定値を 3.1.1 wp-config-sample.php に移植して変名し新しい wp-config.php とする。環境にあわせ変更する必要のある項目は修正する。
- 先ほどエクスポートした SQL のファイルをテキストエディタで開き、ME の URL 文字列をローカル環境の URL に一括置換して保存する。(例: [ME] http://example.com/blog → [ローカル] http://localhost/wordpress )
- phpMyAdmin で WordPress のテーブルをすべて削除し、修正した SQL ファイルをインポートする。
- http://localhost/wordpress にアクセスして管理画面にログインする。
問題がなければローカルでの再構築はこれで完了です。