« やる夫がguestOSインストールエラーに直面したようです。 | トップページ | diff/patch [ファイル管理コマンド] »

2007-12-26

[mysql] やる夫がDBに接続できなくて困っているようです。

構成(っというか・・・)

別のホストから、DBサーバへ接続しようとしたとき出力されたエラーのまとめです(初歩)。構成はこんな幹事です。

  • データベースサーバ

indigo01(IPaddress:192.168.2.20)
MySQL-5.0.42-0(DBname:yaruo_db)

  • アプリケーションサーバ

indigo02(IPaddress:192.168.2.21)

上記ホストについてはルーティングが通っているものとします。データベース”yaruo_db”のportは”13306”で立ち上がっているものとします。

接続エラー1

       ____
     /_ノ   ヽ_\
   /( >)  (<)\   MySQL DB構築したお!
  /::::::⌒(__人__)⌒::::: \    スケジュール1週間遅れだけど、そんなの関係ないお!
  |     |r┬-/      |  
  \    ` ̄'´     /

[indigo02]# /usr/bin/mysql -h 192.168.2.20 -P 13306 yaruo_db
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.2.20' (113)

”MySQLサーバへ接続できません。”

         ____
       /::::::::::  u\
      /:::::::::⌒ 三. ⌒\     キャントコネットがMySQLの上にのってる?
    /:::::::::: ( ○)三(○)\  
    |::::::::::::::::⌒(__人__)⌒  | ________
     \::::::::::   ` ⌒´   ,/ .| |          |
    ノ::::::::::u         \ | |          |
  /:::::::::::::::::      u       | |          |
 |::::::::::::: l  u             | |          |
 ヽ:::::::::::: -一ー_~、⌒)^),-、   | |_________|
  ヽ::::::::___,ノγ⌒ヽ)ニニ- ̄   | |  |

# telnet 172.22.238.153 13306
Trying 192.168.2.20...
telnet: connect to address 172.22.238.153: No route to host
telnet: Unable to connect to remote host: No route to host

とりあえず、telnetして見ましたが、コネクションを掴めないようです。単純にMySQLサーバが立ち上がっていないか、port”13306”での接続が出来ないことが予想されます。

プロセス確認方法

”ps auxw | grep”でも良いですが、今回はportが特殊なので、下記で調べてみます。DBサーバで調べます。下記結果が返ってくれば、MySQLサーバに問題はなさそうです(そうでもないが)。

[indigo01]# /usr/sbin/lsof -i -n -P|grep 13306
mysqld    28156   mysql   15u  IPv4  715453       TCP *:13306 (LISTEN)

portを調べてみます。

[indigo01]# /sbin/iptables -L -n | grep ACCEPT
ACCEPT     tcp  --  172.16.0.0/12        0.0.0.0/0           tcp dpt:21
ACCEPT     tcp  --  172.16.0.0/12        0.0.0.0/0           tcp dpt:23
ACCEPT     udp  --  172.16.0.0/12        0.0.0.0/0           udp dpt:3306
ACCEPT     tcp  --  172.16.0.0/12        0.0.0.0/0           tcp dpt:3306

port”13306”が空いていないようです。port開放しましょう。

接続エラー2

[indigo02]# /usr/bin/mysql -h 192.168.2.20 -P 13316 yaruo_db
ERROR 1130 (00000): Host '192.168.2.20' is not allowed to connect to this MySQL server

       ____
     /      \
   /  _ノ  ヽ、_  \   あれから3日経ったけど
  / o゚((●)) ((●))゚o \      いまだにMySQLに接続できないお・・・
  |     (__人__)    |
  \     ` ⌒´     /   

まだ接続できないようです。今回は”yaruo_db”へのアクセス権限が無いものと思われます。DBサーバで下記手順を実施してみて下さい。

        ノ L____
       ⌒ \ / \
      / (○) (○)\
     /    (__人__)   \   やる夫は悪くないお!
     |       |::::::|     |       フリーウェアの癖に生意気だお!
     \       l;;;;;;l    /l!| !
     /     `ー'    \ |i
   /          ヽ !l ヽi
   (   丶- 、       しE |そ  ドンッ!!
    `ー、_ノ       ∑ l、E ノ <
               レY^V^ヽl  

DBクリエイトするのにいつまでかかってんだよ!!     うっせ~!
      / ̄ ̄\                      いちいちユーザ指定してんじゃねぇよ!
    /ノ(  ゝ 、_,ノヽ        r'´ ゙ヽ      /`ヽ          ___
    | ⌒(( ●)(●)        ヽ   ヽ从从/   /        \   /\
.    |     (__人__) /⌒l     \  \/  /て       (●)liil(●) ノ( \
     |     ` ⌒´ノ |`'''|    ∑ ヽ/  /  そ     / (__人__)  ⌒   \
    / ⌒ヽ     }  |  |      ,)/  / \ く     |   |!!il|!|!l|         |
   /  へ  \   }__/ /      /   /\  \      \i⌒ヽェェ|      /
 / / |      ノ   ノ    /   / YYY\   \     \ \  /⌒,/´
( _ ノ    |      \´    /   /       \   \     / \ \/  /l
       |       \_,/   /         \   \_/    \__ノ |\
       .|            /            \             |) )
       ヽ          /               \           ,r' /
         \      , '´                   `' ,        /ー'′
          \     (                     )     /
            \    \                  /    /

もう一息です。頑張ってください。

[indigo01]# /usr/bin/mysql -S /var/lib/mysql/yaruo_db.sock yaruo_db
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.0.42-enterprise-gpl-log MySQL Enterprise Server (GPL)

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

ユーザーパスワード及びACLの確認

mysql> select user,host,password from mysql.user;
+--------+------------+---------------------------+
| user   | host       | password                  |
+--------+------------+---------------------------+
| root   | localhost  |                           |
| root   | indigo01   |                           |
| root   | 127.0.0.1  |                           |
+--------+------------+---------------------------+
3 rows in set (0.00 sec)

ユーザパスワード及びACLの設定

下記は”root”に対して、パスワードなし+どのホストからもアクセス可能にする設定です。

mysql> grant all privileges on *.* to root@'%';
+--------+------------+---------------------------+
| user   | host       | password                  |
+--------+------------+---------------------------+
| root   | localhost  |                           |
| root   | indigo01   |                           |
| root   | 127.0.0.1  |                           |
| root   | %          |                           |
+--------+------------+---------------------------+
4 rows in set (0.00 sec)

ちなみに、”yaruo”ユーザで”vipper”というパスワードを設定するならこんな感じです。

mysql> GRANT ALL ON *.* TO yaruo@'%' IDENTIFIED BY 'vipper';

これで、”indigo02”から”indigo01”MySQLサーバへ接続することができました。

[indigo02]# /usr/bin/mysql -h 192.168.2.20 -P 13306 yaruo_db
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6

Server version: 5.0.42-enterprise-gpl-log MySQL Enterprise Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

       ____
     /_ノ ' ヽ_\
   /(≡)   (≡)\
  /::::::⌒(__人__)⌒::::: \  なんとかまにあったお!
  |     |r┬-|     |  
  \      `ー'´     /  

----------------------------------------

現場で使える MySQL (DB Magazine SELECTION)
松信 嘉範
翔泳社翔泳社翔泳社
定価 : ¥ 2,730
2006-03-17
amazonで詳しく見る

|

« やる夫がguestOSインストールエラーに直面したようです。 | トップページ | diff/patch [ファイル管理コマンド] »

MySQL」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/488651/9576733

この記事へのトラックバック一覧です: [mysql] やる夫がDBに接続できなくて困っているようです。:

« やる夫がguestOSインストールエラーに直面したようです。 | トップページ | diff/patch [ファイル管理コマンド] »