6

答えが見つからないような質問があります。リモートデータベースに接続しようとしています。Ubuntuシェルに次のように入力します。

mysql -u test -h mysql.domain.com -p

mysqlは私のパスワードを要求し、次を出力します。

ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES)

問題は、私が外部性を持っていないことです。私は完全に異なるホストにいます。私が使用しているサーバーはexternalitから複製されたと思いますが、サーバーをセットアップしませんでした。私の質問:mysqlには、誤ったホスト名を自動的に入力する可能性のあるconfファイルまたはその他の設定がありますか?これを変更できますか?

4

3 に答える 3

3

これは、サーバーがIPアドレスと一致すると考える名前です。これは、DNS設定(逆引きDNSを試行している)、または/ etc / hostファイル内の何か(そのIPをそのホストにマッピングしている)に対して行うことができます。

于 2010-01-06T22:23:38.827 に答える
2

接続元のマシンの逆引きDNSがユーザーのアドレスと一致していることを確認する必要があります。共有IPを使用している場合、または逆引きDNSを制御できない場合は、ユーザーのアクセス許可を「test」「@」%に変更します。これにより、正しいユーザー名とパスワードのペアがあれば、どのIPアドレスからでも接続できます。 。もちろん、これはいくつかのセキュリティ問題を引き起こします。

mysqlが逆引き参照を実行しないようにしてから、ユーザー/ホストとして'test' @ '123.123.123'を使用できますが、問題を引き起こす可能性のある固定IPを使用している場合を除きます。

DC

于 2010-01-07T03:13:09.757 に答える
0

プロトコルオプションを追加してみてください:

mysql -u test -h mysql.domain.com --protocol=tcp -p

および/または明示的にポートを追加してみてください。

mysql -u test -h mysql.domain.com -P3306 --protocol=tcp -p

http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option_mysql_protocolを参照してください)

于 2010-01-06T22:23:20.387 に答える