我正在尝试在服务器上安装一个简单的mysql数据库,并在另一个连接到它的服务器上安装另一个数据库。
我做了以下事情:
使用以下命令创建用户:
创建用户admin @' localhost'由' admin';
为此用户授予以下权限:
在confWeb上授予所有特权。*管理员@'';
打开bind-adress
现在当我从另一台服务器启动命令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行的末尾,我尝试了许多不同的地址,但没有任何效果。
答案 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;
同样,我不知道为什么它之前没有工作,我看到的答案看起来就像我看到的所有文档,但它看起来我的问题在其他地方。