構成(っというか・・・)
別のホストから、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┬-| |
\ `ー'´ /
----------------------------------------
最近のコメント