質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

2回答

5807閲覧

XAMPPローカル環境下で、『データベース接続確立エラー』『データベース選択不可』エラー原因を知りたい

jo-ji

総合スコア16

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2021/01/12 01:19

編集2021/06/15 04:39

<前提条件>

(1)XAMPPのコントロールパネルは正常(Apache,MySQL).

(2)phpMyAdminにも、以下のようなデータ破損は見られません。
(使用中の表示は、データベース破損らしいです。)
イメージ説明

(3)WPフォルダ内のWp_config.phpの設定も変更してません(触ってない)。
パスワード変更、その他の設定は変えてない状態。
その他の設定変更はしてません。

その状態で、ローカル環境のホームページ、Wordpressダッシュボード画面へ
アクセスすると、以下のエラーが発生します。
イメージ説明

エラーが出る直前のイレギュラー操作は、
XAMPPコントロールパネルを起動せず、ブックマークから
ローカル環境のWordpressの『ダッシュボード画面』、『ホームページ』にアクセスしただけです。
XAMPPを立ち上げ、その後アクセスすると、初めて上記のエラーが発生しました。

XAMPPを立ち上げずに、ダッシュボード画面、ローカルホームページにアクセスしたことは
以前も数回ありましたが、その後にエラーは発生しませんでした。

<試したこと>
Config.phpの修正(デバッグ操作)
(1) define( 'WP_DEBUG', false ); ⇒ define( 'WP_DEBUG', true );

上記画像のエラーメッセージ上に、
『Access denied for user '●●●'@'localhost' to database '●●●'』が追加表示されるだけ。
●●●:フォルダ名

(2)
/** MySQL のホスト名 */(ホスト名の修正)
define( 'DB_HOST', 'localhost' ); ⇒ define( 'DB_HOST', '127.0.0.1' );へ変更

⇒変化なし。

以上、回答をよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/01/12 01:30 編集

落ち着いてほしい。何もしてないのにエラーなんて発生するわけがないので、そこに至るまでに行った作業や操作の経緯がとても重要です。何をどうやったらどういう事態になったのか、っていう経緯説明も質問文中に加えてほしい。質問者さんが遭遇している状況を(可能な限り)第三者が再現できるようにしないと回答しようにも困ります。それと用語は正しく、「Apache httpd」「phpMyAdmin」くらいは間違わないように。
jo-ji

2021/01/12 01:56

わかりました。 もう少し落ち着いて考えます。 質問事項も、もう少し丁寧に修正します。詳細を追加します。
guest

回答2

0

自己解決

(対処法1)
デバッグ作業をしていると、なぜかデータベース(phpMyAdmin上)でユーザー名が突然変わる。
以下は参考画像です。
参考画像
左のデータベース上のユーザー名とローカル環境のフォルダ内xampp>htdocs>wp_z(wordpressフォルダ)>wp-config.php内のユーザー名が違います。
wp-config.php内の②のユーザー名を書き換えて、データベース上のユーザー名(上記画像左)に合わせます。
すぐにデータベースエラーは治りました。 なぜデータベース上のユーザー名が
デバッグ中に突然変わるかは、わかりません。

(対処法2)
デバッグ作業をしていると、なぜかデータベース(phpMyAdmin上)でユーザー名が削除される
対策として、もう一度データベース上にユーザー名を登録する。
(注意)クエリエラーでユーザー名を追加できない時は、この回答の後半
<クエリエラーで、データベースに新しいフォルダが作成できない時>の手順、
『データベース上mysqlのテーブル修復作業』が必要になる。

登録方法は以下のサイトを参考にしました。
phpMyAdmin,Wordpress編⇒リンク先環境構築手順
(1)メニュー「データベース」を開き、作成したデータベース「wp_test」の「特権をチェックする」をクリックする。
(2)「ユーザーを追加する」をクリックする。
「User name」,「Host」,「パスワード」を入力して、一番下の「実行」ボタンでユーザーを作成する。

ユーザー名を新たに登録して、wp-config.php内の②のユーザー名を書き換えたら
データベース接続エラーから復旧しました。

データベース上の登録データ(ユーザー名)と、wp-config.php内データの何らかのズレが
データベース接続エラーの原因であると考えています。


上記解決策は数分で解決できる方法ですが、ダメな時はフォルダの作り直しです(15分以上必要)。

平均3~7日に1回、データベース接続確立エラーが発生するようになりました。
原因のようなものが、見えてきました。

ケース
(1)プログラムのデバッグ作業中、無理にクエリを投げるとデータベースに負荷がかかっているようです。
(2)プラグイン(bbp-style-pack)との相性で、「有効」後にエラーが発生しました。

(3)XAMPPを立ち上げずに、ブックマークから直接ローカルホームページにアクセスすると
『データベース接続エラー』が発生する確率が大きくなります。
つい「うっかり」やってしまいます。

XAMPPの再インストールは必要ありませんでした。
慣れてくると、復旧操作を約15分に短縮できました。

<復旧操作の参考ページ>
(1)phpMyAdmin,Wordpress編⇒リンク先環境構築手順

(2)公開ページからローカルへ移設編⇒リンク先ローカル環境インストール方法---(後半)2. WordPressをインストール パートB. 公開中のサイトをローカルへ複製したい場合


<復旧操作(ローカル・フォルダの作り直し)>

A 「データベース接続エラー」発生した後、今までのローカル環境で作成した(下溜めた)コードを
レンタルサーバーへアップロードする。公開ページが最新化される。

B(約5分) Aで最新化した公開データを、プラグイン『All-in-One WP Migration』でローカル環境下へバックアップし保存する。

C(約5分) phpMyAdmin(Databese)上とパソコン内の両方でフォルダを作り直して例wp_a、ローカル環境へWordpressを(旧Wordpressフォルダ横へ)再インストール後に、続けてプラグイン『All-in-One WP Migration』、『all in one wp migration extension』をインストールして有効化する。
(注意)Wordpressインストール後のフォルダwp_a内は、C:\xampp\htdocs\wp_a\wordpress-5.6-ja \wordpressとなるので、アドレスをスッキリさせたいならインストールしたデータをwp_a直下に移動する(ファイルを切り取りして、wp_a内に移す)と、シンプルなアドレスになる。⇒例:http://localhost/wp_a/

つまりwordpress内フォルダの全ファイル・フォルダを切り取りして、親の親wp_a内フォルダに移す。
そうすることで、ディレクトリー構成が浅くなる。

D(約5分) Bのバックアップデータを、ローカル環境のダッシュボードでCのプラグインを使いローカル環境へインポートして完了。
たまにインポートできない(「All-in-One WP Migration」不良)時は、一度ブラウザを閉じて再度ブラウザを開くと、インポートが出来るようになる。

(B)(C)(D)で約15分くらいかかる。おそらく、これ以上の時間短縮は出来ないだろう。

<クエリエラーで、データベースに新しいフォルダが作成できない時>
(1)phpMyAdmin(Database)上でmysqlを選択
イメージ説明
(2)"mysql" databaseのすべてのテーブルを選択
イメージ説明
(3)スクロールで下に移動して、セレクトボックス内の『テーブルを修復する』を選択
(4)実行
引用元

(注意)上記操作をして[C]でどうしてもデータベース上に新しいフォルダが作成できない時(クエリエラー発生時)は、XAMPPを再インストールします。(約5分追加)

投稿2021/01/18 16:30

編集2021/04/21 23:50
jo-ji

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

XAMPPコントロールパネルからApache httpdやMySQLを一旦停止させて再起動させる、
または、PC自体を再起動させて見るのはいかがでしょうか。

そういう状況に陥った原因の対策も必要ですが、
再現性がないことだったりすると無駄に時間を浪費するだけなので、
PC再起動から様子を見てみるのがよいかと。


ファイルの修正をする前に、対象ファイルのバックアップさえ取っておいて、
いつでも直前の状態に戻せるようにすることが、基本的なやり方です。
(自分でもどこをどういじったか覚えていない、覚えていられないと思うなら、なおさらです。)

どこかに文法ミスを誘発するような書き方をしていないかなど、
修正を加えたphpファイルの文法チェックをしてみてください。
チェックしてくれるサイトもあります、例えば:
PHPコードの構文チェック
PHP構文チェッカー:PHPコードの構文エラーをチェック(Syntax Check) | ラッコツールズ????


bbpress って単語が出てきているようなので、
bbpress 単体配布物をダウンロードしてパソコン上に別途展開して、
WordPress内に展開している bbpress とファイルの比較を実施して、
壊している箇所がないかを特定するのも手かも。
いわゆるdiffっていうツールが有ると、比較が捗るのですが。
ディレクトリ単位、ファイル単位での比較をしてくれるようなツールが。

投稿2021/01/12 01:35

編集2021/01/12 05:46
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jo-ji

2021/01/12 04:03 編集

>>再現性がないことだったりすると無駄に時間を浪費する 再現性はありました。PC再起動してもエラーは出ます。 エラーが発生する前は、子テーマのCSSやfunctions.phpの修正をしていました。 プラグイン(bbpress)のフック関数を触っていました。 フックによる弊害かと思って、functions.phpのフック関数をコメントアウトしても エラーが発生しています。 その他、Loco translateプラグインも触っていました。 最悪、XAMPPのアンインストールする以外ないと考えてます。 色々、ググっても原因がわかりません。
jo-ji

2021/01/12 04:14 編集

>>いつでも直前の状態に戻せるようにすることが、基本的なやり方です。 痛感してます。 VScodeで編集してますが、便利さを求めて『自動保存設定』で書き込んでいます。 とても便利ですが、もし誤った操作をしたら元には戻せません。 よく、『functions.phpを変えると、画面がホワイトアウトする』とあります。 油断してました。 他人事と考えていました。
退会済みユーザー

退会済みユーザー

2021/01/12 04:19

VScodeならその場で文法エラーの指摘はしてくれるので、文法エラーを放置することは少ないですね。 ならば、書き足した箇所で、いじっちゃいけないところをいじっちゃった可能性とか。
jo-ji

2021/01/12 11:16 編集

諦めてXAMPPを再インストールしました。約一時間で終わりました。 原因を見つけるのに1日かかるなら、XAMPP再インストールの方が楽だと思いました。 しかし今後も、再発するかもしれません。原因は不明のままです。 バックアップの大切さがわかりました。返信ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問