クライアントとサーバー自体が別のマシンである場合
|————–| |————–|
|クライアント | |サーバー |
|自マシン |——–>他マシン |
|————–| |————–|
よくサンプルではlocalhostからの利用が多い。TelnetとかSSHの場合基本的にはそのマシンにログインして行う場合などは
それでいいのだが、基本、それ以外の場合
他のマシンからの接続となると
Postgresの場合は「pg_hba.conf」を修正すること
MySQLの場合は特権ユーザーを追加する事により可能となります。具体的には
「mysql」テーブルでユーザー管理がされているのでその部分を追加、および権限を渡すことによって
他のマシンからの接続を確立させます。一応カテゴリ的には「MySQLの」ということですが、自分がやった手順をそのまま
乗せるので、DBにかかわらずそれら以外の部分も設定変更を行っております
-
-
- エラー内容1(JavaWebStartのアプリ)
-
java.sql.SQLException: Access denied for user: ‘root@**********.*****.****.****.ne.jp’ (Using password: YES)
…..
↑ドメイン指定でのユーザ
- Userテーブルに挿入
INSERT INTO user (Host,User,Password) values (‘**********.*****.****.****.ne.jp’,’root’,password(‘パスワード’));
- dbテーブルに追加
INSERT INTO db (Host,Db,User) values (‘%’,’テーブル名’,’root’);
ちなみに’%’はワイルドカードと同意。本番ではコレはしないようにする
- hostsファイルを変更
viなどで編集追加すること
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
**********.*****.****.****.ne.jp #20060629 G___orz add
***.***.***.*** #20060629 G___orz add
↑グローバルIPアドレス
-
-
- エラー内容2(JavaWebStartのアプリ)
-
java.sql.SQLException: Access denied for user: ‘root@***.***.***.***’ (Using password: YES)
…..
↑IP指定でのユーザ
おそらくhostsファイルに追加されたため
- GRANTで先のユーザーの権限を譲渡
GRANT ALL PRIVILEGES ON *.* TO root@***.***.***.** IDENTIFIED BY ‘パスワード’;
これで他マシンからの接続を許可したことになる
参照:
http://www.atmarkit.co.jp/flinux/rensai/mysql04/mysql04b.html
http://www.mysql.gr.jp/mysqlml/mysql/msg/5252
http://dev.mysql.com/doc/refman/4.1/ja/access-denied.html
コメント