通过mysql admin创建用户,但无法登录mysql
命令行
按照root发布的在线建议
grant all on *.* to new_user;
它有效,但安全方面很糟糕,所以发布了
revoke all on *.* from new_user;
现在new_user
可以仍然连接,但安全性是正确的,如mysql admin
这似乎是一个MySQL管理员问题(感谢@marco)。如果在mysql命令行中发出相同的GRANT,则用户可以登录;但是授权是在Administrator中发布的,用户无法登录。
正如@marco指出的那样,任何访问都将授予对用户的mysql登录访问权限,例如,SELECT权限 - 但是需要在msql命令行中输入。
答案 0 :(得分:1)
那是因为当你第一次使用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;
:你会看到新用户创建!!