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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1656閲覧

PHPからMySQLに接続できない(windows・Wordpress)

shinnjyu

総合スコア9

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/07/28 18:38

編集2019/08/08 14:15

前提・実現したいこと

wordopressのブログを書こうと思ったら、ある日突然以下のエラーメッセージが発生しました。

データベース接続確立エラー これは、wp-config.php ファイルのユーザー名とパスワードが正しくないか、あるいは localhost のデータベースサーバーに接続できないかのどちらかを意味します。ホスティングサービスのデータベースサーバーがダウンしているかもしれません。 ユーザー名とパスワードに間違いはありませんか ? 正しいホスト名を入力しましたか ? データベースサーバーは稼働していますか ?

補足情報

さくらインターネットにもう一度問い合わせたところ、ご指摘があった通り以下のサーバ情報が原因でした。データベース名の記入が異なっていました。

/** WordPress のためのデータベース名 */define(‘DB_NAME’, ‘データベース名‘);

/** MySQL データベースのユーザー名 */define(‘DB_USER’, ‘データベースユーザー名‘);

/** MySQL データベースのパスワード */define(‘DB_PASSWORD’, ‘データベースのパスワード‘);

/** MySQL のホスト名 */define(‘DB_HOST’, ‘MySQLのホスト名‘);

wordpressにはつながったのですが、http://ドメイン/wp-adminの画面に行こうと思ったら、自動的にhttp://ドメイン/wp-admin/install.phpになり、wordpreeをインストールする画面になるという事態になりました。

補足情報

ご指摘ありがとうございます!
$table_prefixの値がデフォルトのwp_になっていたため、以前の値にもどしてみました。
そしたらうまくいきました!
ありがとうございました!

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

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

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

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

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

m.ts10806

2019/07/28 19:58

「似たような質問」のURLをご提示ください。 でないとどんな内容で解説されていたか誰にも伝わりませんので 結局「理解できない」内容が投稿される可能性があります。 何がどう理解できなかったか伝わらないとアドバイスしようがありませんので。
m.ts10806

2019/07/28 20:00

それにタイトルが「Windowsローカル」となっていますが WordPressはさくらインターネットのサーバーにあるわけですよね? となるとデータベースもさくらインターネットにあることになるので、Windowsローカルではないと思います。 念のため、さくらインターネットで加入しているプランもご提示いただけますか?
m.ts10806

2019/07/28 20:03

質問は編集できますので質問を編集して追記いただければと。 (こちらは「質問への追記修正依頼」のコメント欄ですし、デフォルト非表示なのでキーとなる情報がこちらに書かれると目につきにくいです)
shinnjyu

2019/07/28 21:11 編集

あまり知識がなく、Windowsのパソコンを使っていれば、Windowsローカルという意味だと思っていました...申し訳ないです。 WordPressはさくらインターネットのサーバーにあります。 確か、さくらインターネットのスタンダードプランです!
kei344

2019/07/29 12:58

新たな質問をされているのに、まだ質問が「受付中」になっています。「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
guest

回答3

0

ベストアンサー

さくらインターネットの共有サーバではMySQL8は使えません。単に検索結果からMySQL8の記事がヒットしたので思い込みだけでしょ。
https://www.sakura.ne.jp/function/mysql/

本当になにもしていなかったのなら、WordPressの自動アップデートに失敗している可能性があります。
手動更新してみましょう。

phpMyAdminにログインしようとしたら、 「MySQL サーバにログインできません」と出てきました。

これは、接続情報が間違っているからでしょ
・データベースサーバーのホストを間違えている
・ユーザーを間違えている
・ユーザーパスワードを間違えている

補足に関して

wordpressにはつながったのですが、http://ドメイン/wp-adminの画面に行こうと思ったら、自動的にhttp://ドメイン/wp-admin/install.phpになり、wordpreeをインストールする画面になるという事態になりました。
これは完全にデータが消えてしまっているのですかね?

wp-config.php内の$table_prefixの値を変更してしまっているのでしょう。デフォルトはwp_ですが、これを変更すると新しくインストールが始まります。
なお、データベースが空の場合は、$table_prefixの値に関わらずインストールが始まります。
空(以前のデータが削除されている)か別のprefixを使用しているのかは、phpMyAdmin等でデータベースの中を見なければわかりません。

それとも、どこかのフォルダにまだデータがのこってたりして、そのフォルダをいじると復元できたりしますか?

WordPressでは記事や設定は全てデータベース(MySQL)に記録されていますので、フォルダをいじってどうこうできるものではありません。

補足の補足

Broken Link Checkerプラグインを削除すれば消えます。

投稿2019/07/28 22:39

編集2019/07/29 09:13
dousojin

総合スコア754

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

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

0

mysqli_real_connectNo such file or directory ならUNIXソケットで繋ごうとしてsockファイルがないよって事じゃない?
要するに設定情報が間違っている

投稿2019/07/29 04:34

mikkame

総合スコア5036

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

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

shinnjyu

2019/07/29 04:55

ご回答ありがとうございます。 設定情報というのは以下の設定情報でしょうか? /** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘データベース名‘); /** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘データベースユーザー名‘); /** MySQL データベースのパスワード */ define(‘DB_PASSWORD’, ‘データベースのパスワード‘); /** MySQL のホスト名 */ define(‘DB_HOST’, ‘MySQLのホスト名‘);
mikkame

2019/07/29 05:02

DB_HOST が localhostの場合、該当のエラーが出るかと思います
guest

0

wordopressのブログを書こうと思ったら、ある日突然以下のエラーメッセージが発生しました。

元々使えてたものが、本当に一切の変更を加えてないのに使えなくなったとしたらさくらの問題、さくらに問い合わせるのが一番早い。
さくらがそんなショボイ不具合出すとは考えられないけど

以下、元々接続出来ていなかった場合

私の場合にもこれで解決できるのかどうかと、

とりあえず試してみればいいのでは?そして解決できなかった時にこの手法を試したけど解決できなかったと書けばいい

phpMyAdminにログインしようとしたら、 「MySQL サーバにログインできません」と出てきました。

そうなるとサーバー接続情報を把握していない状態だと思われる
wpにはサーバー接続情報を設定する画面もあったはず、その時に正しい情報を入れなきゃ接続できないのは当然

これ以上の事はさくらのアカウントID/PWともに公開してあれば調べる事も可能だろうが(無料で対応してくれるド親切な人がいればね)、ID/PWを出す事は出来ないと思うので、前述の情報をさくらのマニュアルや管理画面見て調べて、それらを正しくwpに設定する事で解決できると思われる

投稿2019/07/28 20:00

hentaiman

総合スコア6421

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

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

shinnjyu

2019/07/28 20:29

ご回答ありがとうございます。 二週間ぐらい使っていなくて、二週間ぶりぐらいにログインしたらエラーになっていました。さくらに問い合わせてみたら、「indexフアイルは残っているから、wordpressとの接続に何か問題があるようです。wordpressは扱ってないので、これ以上は対応できないといわれました。」 もしかしたら、似たような質問の回答にあった以下の状況が私にも当てはまっているのかなと思っています。「エラーが出ているのは、MySQL 8 で、デフォルトの認証方式 が変更になった影響」 試そうと思ったのですが、書いている内容が難しかったので、質問させていただきました。 特に、「mysql コマンドで、mysql データベースに接続してから、ユーザーに従来形式のパスワードを設定する。」というのがわからなかったので、もしよければ、わかりやすく教えていただけないでしょうか? サーバー情報は正しく入力はできていると思われます。以下の所をさくらインターネットと照らし合わせて確かめましたので。 /** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘データベース名‘); /** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘データベースユーザー名‘); /** MySQL データベースのパスワード */ define(‘DB_PASSWORD’, ‘データベースのパスワード‘); /** MySQL のホスト名 */ define(‘DB_HOST’, ‘MySQLのホスト名‘);
hentaiman

2019/07/28 20:45

> 確か、さくらインターネットのベーシックプランです! このプランが何なのかわからないが、スタンダード以上ならsshでログイン出来るので > 「mysql コマンドで、mysql データベースに接続してから、ユーザーに従来形式のパスワードを設定する。」 ログイン後にmysqlコマンドを打ちましょうって事です。 しかし、普通はレンタルサーバーでは認証方式の変更などは不可能な対応です。もしそれが原因だとしたらやはりさくらに依頼するしかない。気になるならさくら側で勝手に変更したかどうかの質問をしたらいい
shinnjyu

2019/07/28 21:09 編集

丁寧なご回答ありがとうございます。 普通レンタルサーバーでは認証方式の変更などは不可能なんですね.. わかりやすくありがとうございます。 似たような質問(https://teratail.com/questions/177874)のベストアンサーに、 「エラーが出ているのは、MySQL 8 で、デフォルトの認証方式 が変更になった影響」ということの原因として、 「PHP info の結果を見て思い出しましたが... Warning: mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]   」 というような文章があるのですが、MySQL 8 が原因であるか確かめるために、自身の「PHP info の結果」を調べたいのですが、この「PHP info の結果」というのはどういう方法で確かめらえるかというのわかりますでしょうか? もしよろしければ教えて頂けるとありがたいです。
hentaiman

2019/07/28 21:23

php自体は多少自分で書ける程度には分かるんですか?phpinfo表示しっぱなしの場合の危険さは分かりますか?分かるなら、ファイルにphpinfo();と書くだけで表示出来るのようになるのでやれば良いと思いますが、分からんならやめた方が良い mysqlバージョンアップが原因だとほとんど予測出来てるならさくらに順を追って問い合わせする方が無難じゃない?元々mysql5.xならDB繋げてたのにmysql8.xになったら繋がらなくなったので対応して、というだけ 問い合わせについては技術のQAというより論理的に質問文組み立てるだけの国語のQAみたいな感じなので、あまり答える事はありません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問