データベースエラー?

Events happening in the community are now at Drupal community events on www.drupal.org.
sakura-mama's picture

又来ることになってしまいましたが、どうかよろしくお願いいたします。

ここの所、色々エラーが出たりしていまして、原因が判らなかったりしていました。どうやらそのエラーの原因がdrupalではなくレンタルしているサーバーにもあったようで、サーバーの移動をしました。
環境はメインのHPを運営し、サブドメインでdrupalを運営。もう一つ、無料で使えるサーバー容量がありそこでもdrupalを運営。
そしてエラーは
1.メインのHP、サブドメインでdrupalの両方が私のパソコンから表示されない、
2.サーバーの管理画面にログインできない、
3.Yahooの検索から削除された(クッキーも同じく)、です。

CORESERVERさんにも問い合わせましたが、お忙しいようで回答を得られずにおりました。とにかくサーバー管理画面に入れないのでどうすることもできないため、エラーの出るサーバーから違うサーバーに移動をすることにしました。データの移動はサーバ間コピーというツールがあり移動先から捜査できたため無事に終了しました。そして、データベースを新しく作り、PhpMyAdminにログインしてデータのエクスポートを致しました。
すると、
この段階で、メインのHPは表示されるようになりましたが、サブドメインのdrupalで以下の通りメッセージが表示されるだけでページは表示されません。

「Warning: Table '.access' doesn't exist query: SELECT 1 FROM access WHERE type = 'host' AND LOWER('182.169..54') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1 in /virtual/fengshui/public_html/***.ggg.jp/includes/database.mysqli.inc on line 128

Warning: Table '**.users' doesn't exist query: SELECT u., s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = 'cbcd37b412e0******c5f5' in /virtual/fengshui/public_html/***.ggg.jp/includes/database.mysqli.inc on line 128
以下省略」

このエラーに対する対処法を教えていただけないでしょうか?
色々と探したのですが、回答が見つからないし知識がありませんのであっても見逃しているのかもしれません。
この中身も見てみたのですが、内容も判らないので手出しできなかったです。
どうかよろしくお願い致します。

Comments

テーブルが存在していない

usemind's picture

このエラーは、access,userというテービルは存在していないことを意味します。
DBにて確認し、存在しなければ、DBの修復をしてください。

------------------
現在構築中サイト:
http://www.bizexp.com

http://www.jpweek.com
------------------

------------------
My Drupal Project
http://www.bizexp.com(Japanese)
http://www.jpweek.com(Chinese)
------------------

ありがとうございます

sakura-mama's picture

usemindさん、ご回答ありがとうございます。

  <このエラーは、access,userというテービルは存在していないことを意味します。

そういうないようであろう事は判りまして、対応として
データベースを上書きしたり
データのインポートをしたりしました。
それでもダメなんです。
やり方が間違っていたのでしょうか

CORESERVERでの物理的エラーの可能性はありませんか

jun784's picture

CORESERVERでの物理的エラーの可能性はありませんか?
http://mainte.coreserver.jp/eventview.cgi?host=www.s9.coreserver.jp
↑よく見ると結構前ですね。

パッと見だけでもエラーがあるみたいです、
CORESERVERにもう一度聞いてみてください。

ただレンタルサーバー会社は対応の速度が遅いです・・・。

kyotaro's picture

「メインのHP」  「サブドメイン」  「無料で使えるサーバー」  それぞれで、drupalを使っており、
  「メインのHP」 と、 「サブドメイン」 は、同じアカウントで、
   「メインのHP」 は、問題なく稼働していて、
    「サブドメイン」にて、上記のデーターベースエラーが出るということでしょうか?

そして、「メインのHP」 と、 「サブドメイン」は、もともと別のサーバーで構築していて、
その時のファイルをそのままコピーしてきたということでよろしかったでしょうか?

エラーの内容は、usemindさんが書かれておられるように、テーブルが存在しないためのエラーなのですが、
これらは、phpMyAdminにて確認することが出来るのでしょうか?

phpMyAdminにて、テーブル名があるか確認の上、データーがあれば『表示』といったリンクをクリック出来るので、
それで問題なく表示できるのであれば、データーベースに問題ないことになります。

DBに問題がないとなると、Drupalの問題になりますので
次にsettings.phpに、データーベースの接続情報が正しく設定されているか確認する必要があります。

もし別のサーバーで運営して、引っ越したままの状態であるとすると
たぶんデーターベースの名前が違うかもしれません。

その場合、settings.phpを編集する必要がありますが、

それよりも、新たにインストールしなおし、
backup_migrateというデーターベースのバックアップモジュールがありますので、
インストール後、復元されるのが良いのではないかと思います。
  (ただし、phpMyAdminでバックアップしたものを復元出来るか、自信がありませんが・・

settings.php

xbro's picture

私もまだDrupal初心者ですが、英語で調べて来るのは早いので、

http://www.hostingformula.net/step-by-step-move-drupal-from-localhost-to...
によると。

Open settings.php file (located in C:\wamp\www\drupal\sites\default) and edit appropriate entry. 
(\www\drupal\sites\defaultにあるsettings.phpをダウンロードして開けて)

$db_url = ‘mysql://xxxxx_drupal:YqpN1}+!&)m@@localhost/xxxxx_drupal’;
$db_prefix = ”;
$base_url = ‘http://batikweb.com’;  // NO trailing slash!

Reupload the file.
(上記の3行などのような的確な箇所を編集した後また元のところにアップロードする、編集前に元ファイルのコピー取っとくのは良いでしょう)

でも$db_url見てDBのURLだと解るけど何だこれは?って思ってしまいます。

ありがとうございます

sakura-mama's picture

jun784さん、ありがとうございます。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1343670278
の記事を見つけて私はm6サーバーを使っていたのでサーバー間移動を試みました。今までもm6だからだったのかエラーなどつまづくことが多くて、素人の私には苦労続きでした。移動先は大丈夫みたいです。一応CORESERVERに問い合わせていて返事待ちですがスルーされてるかもしれません。

kyk さん、ありがとうございます。判りにくいですよね。ごめんなさい。

「無料で使えるサーバー」------「付与されたドメイン」  drupal  =稼動中。問題なし

          ┌------ 「ドメイン」  「メインのHPの運営」=稼動中。問題なし
「有料サーバー」   ┤
          └------「サブドメイン」   drupalインストール  =現在の問題

って形になってます。それからご指示の通り見てみましたら、気づいたことがあります。phpMyAdminにログインしてみると、作ったはずのデータベースが出来ていないようなんです。全く詳しくない素人なので気づかなかったのですが、データベースを新しく作るとphpMyAdminのページで作った名前のデータベースが選択できるようになるべきかなと思うのですがそれがないです。
そのためsettings.phpのデーターベースの接続情報をphpMyAdminに現存する名前に変更したらdrupalが表示されました。
元々サーバーの移動をした時にデータベースも新たに作成したのですがsettings.phpの設定情報とそろえるためデータベースの名前を前のものと同じにしました。settings.phpの設定情報は作成した名前になっていますのでphpMyAdminの中にファイルがないってことになるのでしょうか。
新しいデータベースを作成した時にphpMyAdminがどのようになるのが判らないのでこの判断が正しいかわかりません。

fuji@drupal.org さん、ありがとうございます。
ご指導いただいた部分も試してみましたが大きな問題は見つからなかったです。その代わり、上のような状態でして何かがおかしいようです(笑)。

問題が何処なのか分けて確かめる

xbro's picture

データベースが作成されてるはずなのに作成されて無いのか、作成されてるのにphpMyAdminに表示されないのか?確かに言われる通りそこからの確認がポイントだと思います。

kyotaro's picture

最近の共有サーバー事情が良くわからないのですが、XREAは基本的に、サーバー毎に各ユーザー用のDBアカウントを付与しているはずです。(ロリポが別サーバーでしたっけ?)

データーベースの名前は、ユニークである必要がありますが、
そのサーバーを共有している人とシェアする形になるため、
別のサーバーで利用していたデーターベースの名前と同じ名前のデーターベースを作ることは難しいはずです。

確かXREAのコンパネでDBを作成し、管理したいDBを選択して、phpMyAdminに移るようなインターフェイスではなかったかしら?
違いましたっけ?

ともかくそのような状況なので、どうみてもsettings.phpをいじる必要があります。
 (もちろん、DBをちゃんとしたうえで・・)

そうですね。

sakura-mama's picture

fuji@drupal.org さん、そうですね。多分作成されていないのだと思います。移動元サーバーの管理画面に入れないのでそこでデータベースがどうだったか確認がとれないんで確実とは言えませんが。

kyk さん。ありがとうございます。
ご指摘の通り、ユーザー名がデフォルトのデータベースが付与されます。しかし、5つまでは作成可能でして、そこに全く違う名前でデータベースを作成してみましたがphpMyAdminにログインしてもそのデータベースは作成できていないんです。

<確かXREAのコンパネでDBを作成し、管理したいDBを選択して、phpMyAdminに移るようなインターフェイスではなかったかしら?

「ログイン」ボタンがあってクリックするとログインが出来るんですが、選択するようにはなっていなかったです。削除などは管理したいDBを選択して行ってました。

kyotaro's picture

通常、データーベースが増えると、phpMyAdmin上の
左上あたりにセレクタが付いて、
そこからDBを選択する形になります。

ところによっては、ログイン画面でDBを選択するところもあったような気もします。

ともかくレンタルサーバー固有の問題なのでこれ以上は何もお話しできることがないです。

XREAのサポートフォーラムでご質問されてみてはいかがでしょうか?

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: