通过mysql admin创建用户,但是无法登录mysql
命令行
按照网上的建议,以root身份发布
grant all on *.* to new_user;
它有效,但安全方面一团糟,所以发布
revoke all on *.* from new_user;
现在 new_user
可以仍然连接,但安全性与 mysql 管理中设置的一样安全
对我来说这完全是骗人的。到底发生了什么,您如何真正启用登录?
这似乎是 MySQL 管理员的问题(感谢@marco)。如果在 mysql 命令行中发出相同的 GRANT,则用户可以登录;但如果授权是在管理员中颁发的,则用户无法登录。
正如@marco 所指出的,任何 访问都将向用户授予 mysql 登录访问权限,例如,SELECT 权限 - 但是它们需要在 msql 命令行中输入。
最佳答案
那是因为当你第一次使用GRANT
时,用户是自动创建的;当您撤销权限时,用户仍然...
检查这个link .
首先你应该只给你的用户他真正需要的权限。
第二:只允许用户访问他应该查看/处理的数据库或表。
示例:
GRANT SELECT,INSERT,UPDATE ON mydb.* TO 'jeffrey'@'localhost';
或
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost'
IDENTIFIED BY PASSWORD 'sdsd';
已编辑:
只是为了证明我在说什么:
进入 mysql 控制台 (mysql -u root -p
) 并输入
USE mysql;
SELECT * FROM user;
你会看到 MySql 里面有用户。
好吧,现在对一个尚不存在的用户随意使用 GRANT
;然后重复 SELECT * FROM user;
:你会看到新用户已创建!!
关于mysql - 在mysql中,设置连接mysql命令行的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7318774/