サポート » インストール » データベース接続確立のエラー

  • hshindo

    (@hshindo)


    index.phpからwp-config.phpを作成するウィザードで進むと、

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

    >ユーザー名とパスワードに間違いはありませんか ?
    >ホスト名に間違いはありませんか ?
    >データベースサーバーは動いていますか ?

    というエラーにてインストールができません。

    wp-config.phpを手動作成してアップロード後、接続しても、
    「エラー:データベースに接続できません」
    という内容で先に進めません。

    ユーザ名・パスワードの問題以外に考えられる原因はないでしょうか?

    環境は以下のとおりです:
    Redhat8
    PHP Version 4.4.7
    MySQL4.1.22

    ターミナル上ではmysqlは起動しているようですが・・・。
    ps ax | grep mysql
    14094 pts/0 S 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –datadir=/usr/local/mysql/var –pid-file=/usr/local/mysql/var/www2.*****.gr.jp.pid
    14121 pts/0 Sl 0:00 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/mysql –datadir=/usr/local/mysql/var –user=mysql –pid-file=/usr/local/mysql/var/www2.*****.gr.jp.pid –skip-external-locking –port=3306 –socket=/tmp/mysql.sock

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    ユーザ名・パスワードの問題以外に考えられる原因はないでしょうか?

    考えられるのは以下の理由でしょうか。特に、ユーザーを作っていない可能性が大ですね。

    • そもそもMySQL上でユーザー/データベースを作っていない。
    • ホスト名が間違っている (localhost では繋がらないようになっているとか)。

    あと、サーバーを新規設営されたのであれば、PHP 4.4.7 というのはやめた方がいいでしょう。PHP 5.2.6 にするべきです。

    hshindo

    (@hshindo)

    lilyfanさま
    返信ありがとうございます。

    ユーザ名とデータベースですか。
    MySQLビギナーなので理解が足りないのかもしれません。

    mysql> show databases;
    +———–+
    | Database |
    +———–+
    | dbname |
    | mysql |
    | test |
    +———–+

    mysql> select user();
    +—————-+
    | user() |
    +—————-+
    | root@localhost |
    +—————-+

    mysql> use dbname;
    Database changed
    mysql> select * from user;
    ERROR 1146 (42S02): Table ‘dbname.user’ doesn’t exist

    上記のようなエラーが出ます。
    ユーザが追加されていない、ということでしょうか?

    grant all privileges on dbname.* to dbname@localhost identified by ‘password’;

    でユーザを追加したつもりになっていましたが・・・

    ※PHPバージョンに関する助言、ありがとうございます。
    かなり前から既に動いているサーバではありますが、検討したいと思います。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    mysql> select user();
    +—————-+
    | user() |
    +—————-+
    | root@localhost |
    +—————-+

    これは現在のユーザーを表示しているだけです。root ユーザーで接続しているわけですね 😉

    mysql> select * from user;
    ERROR 1146 (42S02): Table ‘dbname.user’ doesn’t exist

    これは dbname データベースの user テーブルを表示させているだけですよね。dbname データベースがどういう構造をしているのかは知りませんが、少なくとも MySQL のユーザーを管理しているものではありません。

    grant all privileges on dbname.* to dbname@localhost identified by ‘password’;

    ユーザーの追加はこれでよいはずです。all privileges というのはちょっと危ない気もしますが、まあいいでしょう。

    mysql コマンドラインにて、dbname ユーザーでのログインを試してみるとどうでしょう??

    hshindo

    (@hshindo)

    返信が遅くなりました。
    申し訳ありません。

    mysql コマンドラインにて、dbname ユーザーでのログインも試してみました。
    下記のように表示されます。

    [root@server ~]# /usr/local/mysql/bin/mysql -u dbname -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 101 to server version: 4.1.22-log

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> select user();
    +———————+
    | user() |
    +———————+
    | dbname@localhost |
    +———————+
    1 row in set (0.00 sec)

    mysql> use dbname;
    Database changed
    mysql> show tables;
    +———————+
    | Tables_in_dbname |
    +———————+
    | addrbook |
    +———————+
    1 row in set (0.00 sec)

    以上のように表示されます。
    一応dbnameというユーザとデータベースは存在しているようです。

    PHPでもデータベースとの接続に失敗するので、何か別の問題でしょうか。

    エラー内容:
    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in /home/*****/dbtest.php on line 14
    データベースの接続でエラーが発生しました

    PHPの該当行:
    $db = mysql_connect(“$host”, “$user”, “$passwd”);

    phpinfoの内容:
    Configure Command ‘./configure’ ‘–with-apxs’ ‘–with-mod_charset’ ‘–with-config-file-path=/etc/httpd/conf’ ‘–enable-safe-mode’ ‘–enable-memory-limit’ ‘–enable-zend-multibyte’ ‘–with-zlib’ ‘–enable-mbstring’ ‘–enable-sysvmsg’ ‘–enable-sysvsem’ ‘–enable-sysvshm’ ‘–with-ibm-db2=/opt/IBM/db2/V8.1’ ‘–with-xmlrpc’ ‘–with-gd’ ‘–with-jpeg-dir’ ‘–with-png-dir’ ‘–with-xpm-dir’ ‘–with-mysql’

    mysql
    MySQL Support enabled
    Active Persistent Links 0
    Active Links 0
    Client API version 3.23.49
    MYSQL_MODULE_TYPE builtin
    MYSQL_SOCKET /tmp/mysql.sock
    MYSQL_INCLUDE no value
    MYSQL_LIBS no value

    hshindo

    (@hshindo)

    お世話様です。
    インストールが出来ました。

    SET PASSWORD FOR dbname@localhost = OLD_PASSWORD(‘パスワード’)

    上記コマンドを入力したら、データベースに接続可能になりました。
    lilyfanさまには助けていただき、大変感謝しております。

    どうもありがとうございました。

    WordPressインストールのための環境を構築し
    MacOS10.6の自社サーバにインストール開始すると下記のメッセージがでます。
    >データベース接続確立のエラー
    >これは wp-config.php ファイルのユーザー名とパスワードが間違っているか、
    >localhost のデータベースサーバーに接続できないかのどちらかを意味します。
    >ホストのデータベースサーバーがダウンしているのかもしれません。

    wp-config.phpを何回も確認しましたが結果は同じ何が原因しているのかまったく分からず
    ネットをググルとMacにWordPressインストール紹介サイトが見つかりましたので
    ApacheからMySQL,PHPの設定を再設定していると
    socketの設定というのがありこれお設定するとWordPressがインストールできるようになりました。

    これはWordPressインストールの際にでるエラーメッセージとはまったく関係無いことがはじめてわかりましたので初心者の方は参考にしてください。
    インストールエラーのときにコードとかでもう少し解決につながる具体的なメッセージを要望します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「データベース接続確立のエラー」には新たに返信することはできません。