- - PR -
localhostでMySQLに接続できない・・・
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-06-09 12:31
ある問題でぶつかっています。サーバ環境を作っている最中なんですが、
localhostとMySQLに接続できないようなのです。このサーバに自分自身がMySQLを入れたのならある程度わかるのですが、既に入っており、それを使わなければならない状況なのです。 しかし、このMySQLがおかしいのです。OSはLinux Redhat9で、ターミナルで root]#rpm -q mysql と打てば、mysql-3.23.54a-11と返事が返ってきます。 しかし、MySQLを起動させ、root]# mysqladmin -u root -p versionと打てば、 mysqladmin Ver 8.41 Distrib 4.1.7, for pc-linux on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 4.1.7-log Protocol version 10 Connection Localhost via UNIX socket UNIX socket /tmp/mysql.sock Uptime: 1 day 20 hours 24 min 48 sec Threads: 1 Questions: 466 Slow queries: 0 Opens: 52 Flush tables: 1 Open tables: 1 Queries per second avg: 0.003 と返ってきます。バージョンがおかしい。古いのか、新しいのか。おそらく、誰かがアップデートしたのでしょうか。 ターミナルでroot]#telnet localhost 3306と打ってみれば、 以下のようなエラーが返ってきます。 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. T・#HY000Host 'localhost.localdomain' is not allowed to connect to this MySQL serverConnection closed by foreign host. このサーバで localhost および localhost.localdomain という名前で自分自身にアクセスはできますが、 どうやら根本的にMySQLとlocalhostが接続できていないようです。 ターミナルでroot]#/usr/local/bin/mysqld_safe--user=mysql &を打ち、MySQLを起動させる事はでき、root]#mysql -u root -p で接続し、mysql->コマンドでデータベースを作ったりする事もできているんですが。どうやら、エラー内容からlocalhostの権限がないということがわかりました。 ここで質問なんですが、僕はまだ未熟者で権限の事はよくわかりません。本を 見たりして勉強はしているんですが、上記エラーを解決することがなかなかできません。 どうやったら、localhostでMySQLに接続することを許可させることができるんでしょうか。 アドバイスよろしくお願いしますm(_ _)m |
|
投稿日時: 2005-06-14 11:45
時間がたっていますので、解決されているかもしれませんが・・・。
MySQLのmysqlデータベースのuserテーブル、接続したいuserのhostフィールド にlocalhostが指定されていますでしょうか? このhostフィールドに指定されているhostからしか接続できなかったと思い ます。 |
|
投稿日時: 2005-06-17 15:19
返信ありがとうございます。いえ、情けないのですが、まだ解決していません。
初めにデータベースアクセス用の新規ユーザを設定するため、以下のコマンドを入力しました。 mysql> GRANT all privileges ON dbs.* > TO expert@localhost IDENTIFIED BY 'expert'; そして確認のため、 root#] -u expert -p Enter password:****** と打てばMySQLとの対話型インタフェースに接続できます。 そして、使用するDBやそのテーブルについて詳しく権限を見たいと思い、以下のようなコマンドを入力しました。 mysql> show grants for expert@localhost; +--------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for expert@localhost | +--------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'expert'@'localhost' IDENTIFIED BY PASSWORD '英数字の羅列群'WITH GRANT OPTION | | GRANT ALL PRIVILEGES ON `dbs`.* TO 'expert'@'localhost' | | GRANT ALL PRIVILEGES ON `dbs`.`kadai_list` TO 'expert'@'localhost' WITH GRANT OPTION | | GRANT ALL PRIVILEGES ON `dbs`.`meibo_list` TO 'expert'@'localhost' WITH GRANT OPTION | | GRANT ALL PRIVILEGES ON `dbs`.`kojin_list` TO 'expert'@'localhost' WITH GRANT OPTION | | GRANT ALL PRIVILEGES ON `dbs`.`softlist` TO 'expert'@'localhost' WITH GRANT OPTION | +--------------------------------------------------------------------------------------------------------------------------------------------+ 6 rows in set (0.00 sec) と返ってきます。これを見る限り、各テーブルへのlocalhostからの権限があるように 思えるのですが・・。envさんのアドバイスの返事になっていなかったらすいません。 |
1
