错误1045(28000):访问被拒绝用户(使用密码:是)
我想在服务器上有一个简单的mysql数据库,而另一台服务器上的另一个数据库连接到它。错误1045(28000):访问被拒绝用户(使用密码:是)
我也做了以下内容:
- 安装了MySQL服务器
- 创建的数据库
-
创建的用户有:
CREATE USER管理员@ 'localhost' 的IDENTIFIED BY“管理“;
-
由于权限与此用户:
GRANT ALL PRIVILEGES ON confWeb *管理员@'。
开业捆扎ADRESS
现在,当我从另一台服务器启动命令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中,用户由用户和主机标识。
该用户:
[email protected]
是不相同的用户
[email protected]'10.242.167.235'
作为一个选项,你可以这样做,才允许连接:
GRANT USAGE ON *.* TO [email protected]'10.242.167.235' IDENTIFIED BY 'mysecret' ;
GRANT ALL ON confWeb.* TO [email protected]'10.242.167.235' ;
对于MySQL访问权限系统,包括“通配符”,本地主机的特殊含义的讨论不再使用的IP地址,而不是主机名等
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html
我认为你的答案可能对我写的内容有好处,但我试着做你说的话,但它仍然无效。 但我找到了解决方案,我会发布它。 – Licia
而且它与“admin”显然不一样:https://dba.stackexchange.com/questions/191606/error-1045-28000-access-denied-for-user-myuserlocalhost-using-password – pyb
@pyb:正确。一个MySQL帐户由* user *和* host *标识。根据MySQL参考手册:“*主机*名称部分的帐户名称,如果省略,默认为”%“。” https://dev.mysql.com/doc/refman/5.7/en/create-user.html因此,指定“just'admin'”与指定'admin @'%''相同。 – spencer7593
我真的不知道为什么,但appareantly ,它在我使用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;
同样,我真的不知道为什么之前没有工作,我看到像所有文件的答案我已经看到,但它看起来我的问题在别的地方。
''admin'@'localhost''是一个完全不同于*'admin'@'10.69.101。%''的用户。这两个用户都不会与来自“10.242.167.235”的连接“匹配”。如果从'10.242.167.235'建立了一个连接,那么这个答案中显示的语句定义的两个用户都不会有任何区别。 https://dev.mysql.com/doc/refman/5.7/en/account-names.html – spencer7593
使用下列步骤: -
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来连接服务器。您也可以使用“%”作为来自世界上任何位置的用户数据库。
现在,在格兰特选项;代替“所有权限”,您可以分别访问,如选择,更改,更新等。
您创建了一个绑定到localhost的用户,但您连接到的不是localhost的服务器。 –