0

コマンドの実行に問題があります

grant select, insert, delete, update on dbname.* to username identified by 'password';

リモート接続からサーバーへ。で応答します

ERROR 1044 (42000): Access denied for user 'root'@'xxx.xxx.x.xx1' to database 'dbname'

サーバーのアドレスはxxx.xxx.x.xx1で、リモートマシンのアドレスはxxx.xxx.x.xx2です。

コマンドを使用してリモートマシンからMySQLサーバーにログインします

sudo mysql -h xxx.xxx.x.xx1 -u root -p

select current_user()リモート接続からコマンドを実行すると、が返されますroot@'xxx.xxx.x.xx1'。戻らないのroot@xxx.xxx.x.xx2'

root@'xxx.xxx.x.xx1'とにすべての権限を追加しましたroot@'xxx.xxx.x.xx2'

リモート接続のIPアドレスのrootへのアクセスを許可したのに、リモートマシンからコマンドを実行できないのはなぜですか?select current_user()リモートマシンからログインしたときに、リモートマシンのIPアドレスまたはサーバーのIPアドレスを返すことになっていますか?

4

1 に答える 1

0

問題を解決しました。

まず、/ etc / mysql/my.cnfのバインドアドレス行を127.0.0.1からサーバーのアドレスに変更しました。

次に、rootとしてサーバーのmysqlにローカルにログインし、次のコマンドを使用して別のユーザーを作成しました。

grant select, insert, update, delete on databasename.* to newuser@my_remote_desktop_address identified by 'password';

次に、新しいユーザーの下でデスクトップのmysqlにログインし、コマンドを実行できます。

于 2012-12-27T11:31:50.933 に答える