ERROR 1045 (28000):拒绝用户访问(使用密码:YES)
ERROR 1045 (28000): Access denied for user (using password: YES)
我正在尝试在一台服务器上建立一个简单的 mysql 数据库,并在连接到它的另一台服务器上建立另一个数据库。
我做了以下事情:
- 已安装 mysql-服务器
- 创建数据库
创建用户:
创建用户 admin@'localhost' 'admin';
授予该用户以下权限:
授予 confWeb 上的所有权限。* 给 admin@'';
打开绑定地址
现在,当我从另一台服务器启动命令 mysql -u admin -p -h <address>
时,它只会一遍又一遍地告诉我:
ERROR 1045 (28000): Access denied for user 'admin'@'X.X.X.X' (using password: YES)
此时我真的不知道该怎么办。我想我已经尝试了一切。
我尝试将 GRANT OPTION
放在 GRANT 行的末尾,我尝试允许很多不同的地址但没有任何效果。
在 MySQL 中,用户由 user 和 host.
标识
这个用户:
admin@localhost
与
不是同一用户
admin@'10.242.167.235'
作为一种选择,您可以这样做以允许连接:
GRANT USAGE ON *.* TO admin@'10.242.167.235' IDENTIFIED BY 'mysecret' ;
GRANT ALL ON confWeb.* TO admin@'10.242.167.235' ;
关于 MySQL 访问权限系统的更长时间的讨论,包括 "wildcards"、localhost 的特殊含义、使用 IP 地址而不是主机名等
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html
我真的不知道为什么,但很明显,当我使用 with grant option
并首先授予对数据库的访问权限,然后再访问其表时,它起作用了。
这是我输入的命令列表:
mysql> create user 'admin'@'localhost' identified by 'admin';
mysql> grant all privileges on confWeb to 'admin'@'10.69.101.%' identified by 'admin' with grant option;
mysql> grant all privileges on confWeb.* to 'admin'@'10.69.101.%' identified by 'admin' with grant option;
mysql> flush privileges;
同样,我真的不知道为什么它以前不起作用,我看到的答案看起来像我看过的所有文档,但看起来我的问题出在其他地方。
使用以下步骤:-
CREATE USER 'user name'@'IP or % or localhost' IDENTIFIED BY 'password';
GRANT all privileges ON *.* TO 'user name'@'IP or % or localhost' IDENTIFIED BY 'password' ;
flush privileges;
此处代替"IP";您在要连接的地方使用远程服务器 ip server.You 也可以使用“%”表示来自世界上任何地方的使用数据库。
现在,在授予选项中;在 "all privileges" 的位置,您可以单独授予访问权限,如 select、更改、更新等
我正在尝试在一台服务器上建立一个简单的 mysql 数据库,并在连接到它的另一台服务器上建立另一个数据库。
我做了以下事情:
- 已安装 mysql-服务器
- 创建数据库
创建用户:
创建用户 admin@'localhost' 'admin';
授予该用户以下权限:
授予 confWeb 上的所有权限。* 给 admin@'';
打开绑定地址
现在,当我从另一台服务器启动命令 mysql -u admin -p -h <address>
时,它只会一遍又一遍地告诉我:
ERROR 1045 (28000): Access denied for user 'admin'@'X.X.X.X' (using password: YES)
此时我真的不知道该怎么办。我想我已经尝试了一切。
我尝试将 GRANT OPTION
放在 GRANT 行的末尾,我尝试允许很多不同的地址但没有任何效果。
在 MySQL 中,用户由 user 和 host.
标识这个用户:
admin@localhost
与
不是同一用户 admin@'10.242.167.235'
作为一种选择,您可以这样做以允许连接:
GRANT USAGE ON *.* TO admin@'10.242.167.235' IDENTIFIED BY 'mysecret' ;
GRANT ALL ON confWeb.* TO admin@'10.242.167.235' ;
关于 MySQL 访问权限系统的更长时间的讨论,包括 "wildcards"、localhost 的特殊含义、使用 IP 地址而不是主机名等
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html
我真的不知道为什么,但很明显,当我使用 with grant option
并首先授予对数据库的访问权限,然后再访问其表时,它起作用了。
这是我输入的命令列表:
mysql> create user 'admin'@'localhost' identified by 'admin';
mysql> grant all privileges on confWeb to 'admin'@'10.69.101.%' identified by 'admin' with grant option;
mysql> grant all privileges on confWeb.* to 'admin'@'10.69.101.%' identified by 'admin' with grant option;
mysql> flush privileges;
同样,我真的不知道为什么它以前不起作用,我看到的答案看起来像我看过的所有文档,但看起来我的问题出在其他地方。
使用以下步骤:-
CREATE USER 'user name'@'IP or % or localhost' IDENTIFIED BY 'password';
GRANT all privileges ON *.* TO 'user name'@'IP or % or localhost' IDENTIFIED BY 'password' ;
flush privileges;
此处代替"IP";您在要连接的地方使用远程服务器 ip server.You 也可以使用“%”表示来自世界上任何地方的使用数据库。
现在,在授予选项中;在 "all privileges" 的位置,您可以单独授予访问权限,如 select、更改、更新等