- 締切済み
MySQLの挙動が変に・・・
CentOS5.3を使用し、PHPのバージョンを4系から5.3へバージョンアップしたらMySQLの挙動が変になりました。 これまでは、 # mysql -u -p [enter]でパスワードを要求され、パスワード入力後MySQLにログインできていて、 mysql>show databases;を実行するとこれまでのデータベース一覧が当然出てきました。 バージョンアップ後、 # mysql -u -p [enter]でパスワード要求もなくログインされ、 mysql>show databases;を実行すると、 +--------------------+ | Database +--------------------+ | information_schema | test +--------------------+ のみ表示されます。 どうしてこうなったのかわかりません。 PHPのバージョンアップは以下のとおりしました。 以前のPHPバージョンを削除 yum remove php php-* 5.3のインストール # yum install php53 php53-mbstring php53-mysql なお、WordPressをインストールした際にも以前は通常通りインストールできたのですが、 5.3にしてからは 「データベース接続確立エラー」と表示されDBへ接続できないようで困っています。 以前質問させていただいた時に 「MySqlの設定が初期化されたかMySqlも更新されたかです。」とご教授をいただいき、 # ls /etc/my.cnf* を実行したところ、すでに /etc/my.cnf my.cnfが存在しております。 当該サーバーに以前より現存していたDBを使ったサイトの閲覧も可能なので、どうなっているのかわかりません。 緊急性を要し、再度ご質問させていただきました。 大変申し訳ございませんが、ご教授よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
mysql -u ユーザー名 -p ではどうです? http://dev.mysql.com/doc/refman/5.1/ja/connecting.html を読むかぎり、 -u だけ、という指定は無いようです。 私自身はMySQL歴が浅く4のころを知りませんが、もしかしたら、コマンドラインの変更があったかもしれません。 4では「-u:ユーザー指定無し→無効→デフォルトユーザー、-p:パスワード指定無し→パスワード入力」 5では「-u:ユーザー'-p'、-pオプション無し→パスワード入力なし」 といった解釈方法の変更があったのかもしれません
- kmee
- ベストアンサー率55% (1857/3366)
> # ls /etc/my.cnf* > を実行したところ、すでに > /etc/my.cnf > my.cnfが存在しております。 中身は確認しましたか? 他に読み込まれているものはないですか? http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/my-cnf.php 複数のバージョンのMySQLがインストールされている、ということはありませんか? > 当該サーバーに以前より現存していたDBを使ったサイトの閲覧も可能 コマンドラインからの接続と、httpでの接続とで、違う設定になっていたり、違うSQLサーバーに接続したり、といったことは無いですか? 考え得る限りの可能性をひとつひとつチェックしていきましょう。
補足
ご教授ありがとうございます。 my.cnfの中身は以下の通りです。 -------------- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid --------------- 以上です。 以下を実行すると # mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf ~/.my.cnf my.cnfの重複はないようです。 コマンドラインで # mysql -u -p[enter] では、既存のデータベースが表示されませんが、 # mysql -uトラブル前のユーザー名 -pトラブル前のパスワード[enter] だと、既存のデータベースが表示されます。 http接続では、今回のトラブル前に入れているWordPressをみると以前のDBに接続されているのですが、トラブル後にhttpから接続すると接続されません。 前バージョンと新しいバージョンが共存してしまっているのでしょうか? どのように対処したらいいのか皆目見当がつかず困り果ててます。 どうかお助けください。