データベースメンテナンスによるsettings.phpの設定について

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
kyouhei's picture

現在corserverを利用しています。データベースは9個ほどですが、そのうち一つだけこのデータベースを使っているブログが稼働しなくなりました。問い合わせると、以下のコアサーバーより通り回答が返ってきましたが、詳細なことは範囲外だということで、解決憑かないままです。ほとんど知識がないこともあり、色々と調べてもわからずこちらで解決方法を教えていただけないでしょうか?
------
新データベースへの移行を弊社にて行わせていただきました。
万が一、不具合が発生しております場合、旧データベースへの接続を
お試しいただけますと幸いでございます。

【WordPressの場合】
wp-config.php
にて、
define( 'DB_HOST', 'localhost' );

define( 'DB_HOST', '127.0.0.1:33051' );

【MySQLの接続ポートの変更】
標準ポートを3306 → 33051
しかしながら、旧データベースにつきましては、セキュリティ上の理由で
半年前後を目処に廃止させていただく予定でございます。
また、管理画面からの各種変更もできませんため、上記期限内の
改修をお願い申しあげます。

----

これらを試したのですが現在エラーが表示されていまして、その内容一部抜粋して掲載します。
------
Additional uncaught exception thrown while handling exception.

Original

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table '***.users' doesn't exist: SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = :sid; Array ( [:sid] => 6Qfk9nno4EHrHujznSX5iUUzBccLy5NiKFx5LanjU3E ) in _drupal_session_read() (line 102 of /virtual/****/public_html/***/***/includes/session.inc).
------
コアサーバーさんのコメントを見て修正後は直したところは以下の通りです。

$databases = array (
'default' =>
array (
'default' =>
array (
'database' => '***',
'username' => '***',
'password' => '***',
'host' => 'localhost',
'port' => 33051,
'driver' => 'mysql',
'prefix' => '',
),
),
);

何卒よろしくお願いいたします。

Comments

追加

kyouhei's picture

焦っていて、よくわからない部分があったかもしれません。反省しております。

そこで、改めて質問は

settings.php にて 'port' => 33051と'host' => 'localhost' として

動作のご確認を検討いただきますようお願いいたします。

とコアサーバーのサポートから返事を頂きました。指示通り変更をしたつもりですがエラーは消えません。旧データベースへの接続を試みるための対処だとうことです。

今回、settings.php にて 'port' => 33051と'host' => 'localhost' の部分で、

$databases = array (
'default' =>
array (
'default' =>
array (
'database' => '*****',
'username' => '*****',
'password' => '********',
'host' => 'localhost',
'port' => 33051,
'driver' => 'mysql',
'prefix' => '',
),
),
);


としたのですが、そもそもこの部分が間違っているのか、ほかに変更する箇所があるのかが判りません。どなたかご指導くださりますようお願いいたします。

データベースのログについて

kyouhei's picture

四苦八苦しているうちに、コアサーバーさんから以下の内容で連絡があました。

---------------
旧サーバーから新サーバーに MySQL データベースの移行が正常に終了していないことが分かりました。
しかし、旧サーバーでデータベー内のデータ量が 20GB以上あり、DBデータ量が多すぎて取り出すことが困難な状況でございます。
誠に申し訳ございませんが、しばらくお時間を頂戴したく存じます。
また、スキップしても良いテーブル(ログなど)があればお知らせいただければと存じます。
---------------

ということですが、今までログを気にしたことがなかったので、スキップしてよいログが何なのかが判りません。
サイトは一般的なブログがメインでして、ブログテキスト記事と写真とアマゾンの本の紹介で占められています。このようなサイトにおけるスキップ可能なログをご指導お願いいたします。

kazuko.murata's picture

こんにちは。
パッと思い付くところで、データ移行不要のテーブルは以下だと思います。

  • cache_ から始まるテーブル
    → キャッシュクリアでレコードが消えるテーブルなので、データ移行なしでOKのはずです。
  • watchdog
    → DB ロギングが有効だとレコードがあります。ログなので、移行しなくても大丈夫なはず・・・だと思います。

データ移行は不要ですが、テーブル自体は存在しないと正常動作できないのでご注意下さい。

よろしくお願いします。

削除できるテーブルについて

kyouhei's picture

ありがとうございます!!!
サイトは表示されるようになりました。一安心です。

知識がなく、削除できるテーブルについて教えていただきたいのです。
データベースにログインし、以下のテーブルの中身を削除すればよいのでしょうか?
以下、データベースのコピペです。(一段上だけ詳細を掲載しました。)操作の中の「空にする」削除するときは「空にする」でよいのかと思いますがどうでしょうか?
watchdogはありませんでした。
どうぞよろしくお願いいたします。

cache 表示 表示 構造 構造 検索 検索 挿入 挿入 空にする 空にする 削除 削除 16 MyISAM utf8_general_ci 407.3 KiB -
cache_block 4 KiB -
cache_content 31 KiB -
cache_filter 10.6 KiB -
cache_form 4 KiB -
cache_menu 626.1 KiB -
cache_page 4 KiB -
cache_update 14.5 KiB -
cache_views 50 KiB -
cache_views_data 4 KiB -

kazuko.murata's picture

サイトが表示できたのことで、良かったです!

Drupalが正常動作できていない & データ移行で不要そうなテーブルは・・・という事で例をあげさせていただきましたが、
Drupalが正常動作できたようので、レコードの生成、削除はDrupalに任せた方が安全で、特段レコードを削除する必要はないです。

よろしくお願いします。

Kazukoさま! ありがとうございます。

kyouhei's picture

本当に一安心です。色々ありますが、日々学びだと前向きに考えてます。

あと一つ教えていただきたいです。
サーバーさんより以下の通り連絡がありました。

---------------
PhpMyAdmin で、データベース「f*****」の各テーブルの状態を確認いたしますと、テーブル名「cache_form」のサイズが 38GiB と特に多いかと存じます。

これは、先の内容と同じになり繰り返しになってしまいますが。。。。。
操作の中の「空にする」削除するときは「空にする」でよいのかと思いますがどうでしょうか?
それと、cache_formは 4 KiBになっているので言われている38GiBではない所がちょっと不思議です。違ったところを削除するのは怖いです

解決いたしました

kyouhei's picture

なんとか解決いたしました。
テーブルへのログインが間違っていたようで、いたって初歩的な間違いでした。

お返事いただき大変感謝しております。