この原因は以前私が出した質問からわかったものです
⇒http://q.hatena.ne.jp/1355629579(ベストアンサーのコメントにより原因特定)
※「MTフォルダのUPし直し」はカスタマイズをしていたため、断念しました。
MTのサイトは問題なく表示されていますが、管理画面にログインできないことと、サイト内検索で「不正なクエリーです」とエラーがでること、またタグ検索で以下のエラーが表示されます。
以前エラーはなかったので、おそらくWordpressをインストールして、DB内容が書き変わったことが原因ではないかと思います。
【タグ検索のエラー】
DBD::mysql::st execute failed: Table '(省略)/DBI.pm line 127.
【エラー箇所】
127: $sth->execute(@{ $stmt->{bind} });
128: $sth->bind_columns(undef, @bind);
Wordpressサイトの方は問題なくログイン・表示できています。
対策方法がお分かりになる方いらっしゃいましたら、お助け願います。
どうぞ宜しくお願い致します。
遅くなりましてすみません。
状況がある程度分かったので回答させていただきます。
バックアップしてあったファイルが正常であれば再インストールは必要ありませんので、まずはデータのリストアを行います。(※MTOS 4.21のテーブル数は38個ですので、テーブル数に異常はないようです。)
[ ---------- 追記開始 ----------]
※リストアに使用するバックアップファイルを決める為、バックアップファイルと思われる物を作成日の新しい順にダウンロードして、中身がMTの物を探してください。
[ ---------- 追記終了 ----------]
※念のため、事前にバックアップファイルのコピーを作成してから作業してください。
1.まず、リストアを実行する前に、再度バックアップファイルを開いて、ファイルが文字化けしていない事を確認します。
※文字化けしている場合は、文字化けしない文字コードで開き直します。(フリーのテキストエディタでは「サクラエディタ」や「TeraPad」等で可能です。)
2.次にファイルの文字コードと、「SET NAMES ***」や各テーブルごとの「SET character_set_client = ***;」「ENGINE=MyISAM DEFAULT CHARSET=***;」などの文字コードの指定が合っているか確認します。
※一致しない場合は、ファイルの文字コードに合わせて各文字コード指定の記述をすべて変更するか、あるいは文字コード指定に合わせて、ファイルの文字コードを変更して保存し直します。(同上のテキストエディタで可能です。)
※この文字コードは使用するデータベースの文字コードと合わせます。
3.次にファイル前半に、「DROP DATABASE IF EXISTS `データベース名`」の記述がないか確認します。
この記述は、「もし`データベース名`があれば削除する」というSQLです。
※他、「CREATE DATABASE ~ `データベース名`」や「USE `データベース名`」(※こちらはない可能性が高いです。)等の記述もないか確認してみてください。
もしあれば、上記の記述がある行をすべて削除します。
4.ファイルの編集が完了したら、「mysql.dump」という名前で元あった場所(※ユーザーのルートディレクトリ)にアップロードします。
5.XREAのコントロールパネルにログインして、「データベース」にアクセスします。
6.手順1で「DROP DATABASE IF EXISTS `データベース名`」等の記述がない事を確認(※あるいは削除)したのでしたら、WordPressと同じデータベースを使っても大丈夫ですが、一応別のデータベースを使った方がいいと思います。
「MySQLの追加・編集」で空欄にチェックをつけ、新しいデータベースの情報を入力して「作成」でデータベースを新規作成します。
※データベースの文字コードは、バックアップファイルの文字コードと同じにします。
http://www.xrea-navi.com/server/mysql.html
7.新規作成したデータベースにチェックが入っているのを確認したら、「復元」ボタンをクリックします。
これでバックアップファイルのデータが復元されます。
[ ---------- 追記開始 ----------]
8.「mt-config.cgi」をダウンロードして、「Database」「DBUser」「DBPassword」の設定を新規作成したデータベースの物に変更し、アップロードし直します。
[ ---------- 追記終了 ----------]
MTの管理画面にアクセスして、記事の保存状態などを確認してみてください。
(※再構築を実行すると、サイトの内容が書き替えられてしまうので、再構築関連のメニューは実行しないで表示確認だけ行ってください。事前に既存のサイトのデータをフォルダごとダウンロードして保存しておくと安心です。)
とりあえずここまで確認してみて、分からない事があれば作業を実行する前に返信してください。
[ ---------- 追記開始 ----------]
ここまでで特に問題ないようでしたら、MTの管理画面で「設定」→「公開」にアクセスして、「サイトURL」と「サイトパス」を既存のサイトとは別の物に変更して「変更を保存」で適用させます。
※設定が完了した時点でパーミッションに問題がなければ、指定したパスに指定したディレクトリが作成され、ファイルが一部生成されます。(事前にディレクトリを作成して、「707」など(※XREAはデータ格納ディレクトリは「700」?)適切なパーミッションに変更しておいた方がいいかもしれません。)
http://www.movabletype.jp/documentation/linux.html
http://www.xrea.com/spec/
※この設定完了以降は再構築を実行しても大丈夫です。
[ ---------- 追記終了 ----------]
【XREAのコントロールパネルでのバックアップとリストアについて】
http://mage8.com/backup.html
※「DBのバックアップを作成する」参照
バックアップを作成したいデータベースを選択して、保存をクリックします。
これだけでユーザのルートディレクトリにデータベースのダンプファイルが作成されますので、FTPなどを使用してダウンロードして保存して下さい。
保存したダンプファイルからリカバリを行う場合には、ユーザのルートディレクトリにダンプファイルをアップロードし、データベースを選択して、復元をクリックします。
http://www.wakatta-blog.com/xreacoreserver_1.html
※「Mysqlコピー」参照
「保存」ボタンを押すと、サーバーのrootディレクトリに「mysql.dump」という名前のファイルが出来上がります。これを新サーバーに移動して、同じく管理画面⇒データーベースの画面から、「復元」ボタンを押すと、データーベース内のデータをすべてコピーできます。
※どうやら「保存」を実行した場合に作成されるバックアップファイルは「mysql.dump」という名前(※リストアする時も同じファイル名にする必要あり。)のようですので、もし今後「保存」を実行してバックアップファイルを作成する場合は、先に同名のファイルがないか確認して、ダウンロードしておく事をおすすめします。
残っていたファイルが「mysql.dump.1220967566.backup」や「mysql_.1331299264.dump」という事ですが、定期的に作成されているようですか?
最新ではいつ作成されていましたか?
※WordPressの「サイトアドレス」や「WordPressアドレス」の変更では、テーブルの構成等の変更は行いません。
該当する項目のデータの変更のみですので、WordPressのデフォルトの機能が原因の可能性はほぼないと思います。(※プラグインが原因の可能性はあるかもしれませんが、公式のプラグインで人気のある物が原因である可能性は低いです。それなりにユーザー数が多いと思いますので、すぐに対処されていると思います。)
管理画面でのデータベースの操作が原因の可能性が一番高いのですが、WordPressのインストールは一度だけ行ったのでしょうか?
「sample」のテーブルが11個ですが、こちらはデフォルト状態のようです。
上に書いたように「復元」を実行するとユーザーのルートディレクトリにある「mysql.dump」の内容が復元されるようですが、バックアップファイルの内容を確認しないまま「復元」ボタンをクリックした事はありませんか?
※少し検索してみましたが、「復元」ボタンによるリストアの方法(※バックアップファイルの置き場所やファイル名など)が分からない人がけっこういるようでした。
早々にご返答いただき、ありがとうございます。
2013/02/02 18:20:49また、詳しくご説明くださり感謝します。
結論から申しますと、データの復元確認ができました!
mt.cgiが「404 Not Found」となる原因ですが、以前Xreaサーバーで使っていたMTインストール済みのドメイン(○○.com)が有効期限切れになり、再取得できなかったため、新規ドメイン(△△.com)を取得し、○○.comディレクトリに対して同期表示設定(○○.comで表示されていた内容がそのまま△△.comで表示できる設定)をしていたことがあり、ログインURLとして△△.com/mt/mt.cgiを指定したことによるものだと判明しました。
簡単に申しますと、実際にデータがある場所は「http://ユーザー名.サーバー名.xrea.com/www.○○.com/mt/mt.cgi」だったのですが、「http://△△.com/mt/mt.cgi」を指定していたためファイルが見つからなかった、という具合です。(なので「404 Not Found」はサーバーから用意された表示だったようです)
新しいMTをインストールしようと進める中で各フォルダ確認のため改めてログインなどしていたところ、気がつききました。
最終的に、一番の問題であったログインできない件、また問題であったサイト内検索結果のエラーやタグ検索結果のエラーの件も含め、全て解決いたしました。
今後はきちんと提供されているダッシュボードのバックアップ機能でバックアップを取り、MT5へのアップグレードやwordpressへの移行を検討していきたいと思います。
その際は、上記でいただいたアドバイスを参考にさせていただき、進めようと思っております。
既存のwordpressのデフォルトデータに置き換わってしまったDBについてですが、結局原因は不明でした。
ご指摘の初期化をしてしまったかどうかについてですが、こちらもそういった記憶はありませんでした。
何かやってしまったようなことがあればおそらく覚えていると思うのですが、記憶にないため何か別の原因であると思います。
少し心残りなところはありますが、既存DBの内容は残したまま上書きすれば、残るものは残り、上書きされるものは上書きされると思うので、問題はないのかなと思っています。
ただ少し心配なので、一応新しいDBの方を中心にサイト運用していきたいと思います。
ということで、おかげさまで直近の問題は全て解決いたしました。
長期にわたりサポートしていただき、本当にありがとうございました。
以前投稿した質問も含め、rouge_2008さまのご指摘・アドバイスがなければ、この問題は解決できなかったかもしれません。
ポイントの方ももっと差し上げたい気持ちなのですが、現状の残りポイントの兼ね合いから設定ポイントにてお送りさせていただきます。
また何かの際には、ぜひ宜しくお願い申し上げます。
(おそらく今後もサイト制作関係で彷徨ってしまう可能性大なので・・)
では今回のところはこのあたりで失礼させていただきます(_ _)
データベースの件は疑問ですが、ログインの問題だけでも解決して良かったです。
2013/02/02 20:40:20ポイントとベストアンサーありがとうございました。