ERROR 1045(28000):拒绝用户访问(使用密码:是)

时间:2016-11-18 15:22:31

标签: mysql mysqlconnection

我正在尝试在服务器上安装一个简单的mysql数据库,并在另一个连接到它的服务器上安装另一个数据库。

我做了以下事情:

  1. 安装了mysql-server
  2. 创建数据库
  3. 使用以下命令创建用户:

    创建用户admin @' localhost'由' admin';

  4. 识别
  5. 为此用户授予以下权限:

    在confWeb上授予所有特权。*管理员@'';

  6. 打开bind-adress

  7. 现在当我从另一台服务器启动命令list(map(int, chain.from_iterable(zip(*[bin(i)[2:].zfill(N) for i in l])))) # [0, 0, 1, 1, 0, 1] 时,它只是一次又一次地告诉我:

    mysql -u admin -p -h <address>

    我真的不知道该做什么。我想我已经尝试了一切。 我尝试将ERROR 1045 (28000): Access denied for user 'admin'@'X.X.X.X' (using password: YES) 放在GRANT行的末尾,我尝试了许多不同的地址,但没有任何效果。

3 个答案:

答案 0 :(得分:5)

在MySQL中,用户由用户主机标识。

此用户:

 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访问权限系统的更长时间的讨论,包括“通配符”,localhost的特殊含义,使用IP地址而不是主机名等。

http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html

答案 1 :(得分:0)

使用以下步骤: -

  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;

这里代替&#34; IP&#34 ;;你使用远程服务器ip连接服务器。你也可以使用&#34;%&#34;来自世界上任何人的数据库。

现在,在Grant选项中;代替&#34;所有特权&#34;您可以单独访问,如选择,更改,更新等。

答案 2 :(得分:-1)

我真的不知道为什么,但显然,当我使用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;

同样,我不知道为什么它之前没有工作,我看到的答案看起来就像我看到的所有文档,但它看起来我的问题在其他地方。