如何设置mysql用户的权限 200
2个回答
2017-08-08
展开全部
1、创建新用户
通过root用户登录之后创建
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 创建新用户,用户名为testuser,密码为123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以在本地访问mysql
>> grant all privileges on *.* to testuser@"%" identified by "123456" ; // 设置用户testuser,可以在远程访问mysql
>> flush privileges ; // mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
2、设置用户访问数据库权限
>> grant all privileges on test_db.* to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db,其他数据库均不能访问 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以访问mysql上的所有数据库 ;
>> grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问 ;
3、设置用户操作权限
>> grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,拥有所有的操作权限,也就是管理员 ;
>> grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,只拥有【查询】操作权限 ;
>> grant select,insert on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> REVOKE select,insert ON what FROM testuser //取消用户testuser的【查询\插入】操作权限 ;
通过root用户登录之后创建
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 创建新用户,用户名为testuser,密码为123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以在本地访问mysql
>> grant all privileges on *.* to testuser@"%" identified by "123456" ; // 设置用户testuser,可以在远程访问mysql
>> flush privileges ; // mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
2、设置用户访问数据库权限
>> grant all privileges on test_db.* to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db,其他数据库均不能访问 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以访问mysql上的所有数据库 ;
>> grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问 ;
3、设置用户操作权限
>> grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,拥有所有的操作权限,也就是管理员 ;
>> grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,只拥有【查询】操作权限 ;
>> grant select,insert on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> REVOKE select,insert ON what FROM testuser //取消用户testuser的【查询\插入】操作权限 ;
展开全部
给用户授权
语法:
GRANT 权限1, … , 权限n ON 数据库.* TO 用户名
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
GRANT ALL ON mydb1.* TO user2@localhost;
撤销权限:
语法:
REVOKE权限1, … , 权限n ON 数据库.* FORM 用户名
REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;
语法:
GRANT 权限1, … , 权限n ON 数据库.* TO 用户名
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
GRANT ALL ON mydb1.* TO user2@localhost;
撤销权限:
语法:
REVOKE权限1, … , 权限n ON 数据库.* FORM 用户名
REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询