mysql权限

时间:2012-12-24 09:22:43

标签: mysql

执行以下mysql语句后创建数据库并赋予用户权限无法访问mysql

create database my_db;
GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
GRANT SELECT ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;


mysql -u user -p mypasswd drops me 
Access denied for user 'user'@'localhost'

3 个答案:

答案 0 :(得分:1)

您需要单独授予用户从localhost连接的权限。 %不起作用。

`GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';
 GRANT SELECT ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';`

答案 1 :(得分:0)

-p和您的密码之间没有空格。

由于您只为数据库my_db授予了权限,因此还要添加数据库以直接连接到它。

mysql -u user -pmypasswd my_db

答案 2 :(得分:0)

我试过了:

GRANT ALL ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;

然后

./mysql -uuser -pmypasswd

对我有用。

如果没有,请尝试使用localhost:

GRANT ALL ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;