【求助】问个MySQL用户权限问题

【求助】问个MySQL用户权限问题

需要在MySQL里增加一个用户aaa,让此用户只对特定数据库database1的几个特定表table1,table2,table3有访问权限。

增加用户之后,
1、user表中有用户,所有权限都是N。
2、db表中没有此用户。
3、host表为空。
4、tables_priv表中用此用户以及对应的表,table_priv字段是“Select,Index”,column_priv字段为空。
但是用户没有权限读到表格。

我修改db表,增加字段,并设置select_priv为“Y”,这时此用户可以select整个数据库,权限过大。

请高人指点,我应该怎么操作,谢谢。:confused:      
可否列出你这个过程的命令.      
我先MySQLcc里面添加的用户,更改的权限,让aaa对database1的table1,table2,table3只有有select权限。
操作后此用户正常。
但是,原来一个对整个数据库database1有完全权限的用户user_all_priv,对这3个表的update权限出现错误。
我用命令update all privileges on database1.* to [email="user_all_priv@%"]user_all_priv@%[/email] indentified by "pass" ;
之后重启数据库后user_all_priv权限正常,aaa的读就不正常了。

然后就是主题里面的现象了。。。。


我还想请教一下:如果要让aaa只对对database1里面的table1,table2,table3表有select权限,用命令方式应该怎样实现。谢谢。      
grant select on DB.table1 to aaa@"%" identified by "1234";      
第一个问题我也不清楚,

你对比一下为 user_all_priv 用户升级前后的两次 select 操作 用户的权限设置有什么不同,
select * from mysql.user where User="aaa" AND Host="%";      
谢谢Roc.Ken,我会做一下测试,并对比一下用户权限的更改。