mysql数据库添加用户并授权

  • Post author:
  • Post category:mysql







操作前先备份

(没错,我一顿神操作,然后没备份,之前的网站崩了。。。。。。)

1,使用root用户连接数据库




mysql   -h


服务器地址


-u


root


-p


密码

2,添加新用户


create user ‘


用户名


‘@‘


IP地址


’ identified by ‘


密码




IP地址的表示方式:

%                 表示用户可以从任何地址连接到服务器

localhost      localhost不会被解析成IP地址,直接通过UNIXsocket连接

指定IP          表示用户只能从此IP连接到服务器

127.0.0.1      会通过TCP/IP协议连接,并且只能在本机访问;

举个栗子:

如图:创建了一个用户【zhao】,可以在任何地址连接,密码为【123456】

3,给新建用户授权


grant


权限,权限


on


库.表


to  ‘


用户名





例:

给【zhao】用户只授予了查询【demo】数据库的权限,

多个权限用【,】分开,

库.表   :

*.*    :表示所有数据库及所有表

库.*      :表示仅可以操作本库及下的所有表

权限 说明
create 允许创建新的数据库和表
drop 允许删除现有数据库、表和视图
alter 允许修改权限或重命名表
delete 允许从表中或数据库中删除行
index 允许创建或删除索引
insert 允许在表和数据库中插入行
select 允许在表和数据库这查询行
update 允许在表和数据空中更新行
show databases 允许使用SHOW DATABASES来查看所有数据库列表,如果没有这个权限则只能查看规定数据库
all 所有权限

。。。。。。。。。还有一些,自行百度 或者

搜的一些权限列表

4,查看新建的用户:


select


host,user


from


mysql.user



5,查看用户的权限:


show grants for ‘


用户名




6,修改密码:


update  mysql.user  set  password = password(‘


新密码


‘)  where  user = ‘


用户名


‘;

如图:修改用户【zhao】的密码为【112233】

7,修改用户名及IP地址


rename user ‘


用户名


‘@’


地址


‘ to ‘


新用户名


‘@’


新地址




如图:修改用户【zhao】及地址为【li】和localhost

8,删除权限:


revoke


权限


on


库.表


from  ‘


用户名


‘;

如图,创建用户【zhao】时候,只给了select 权限,删除之后,没权限了。。。。

9,删除用户:


drop user ‘


用户名


‘@’


IP地址






或:


delete from mysql.user where user=’


用户名


‘;

10,操作完记得刷新下:


flush privileges;

mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

另外分享个不错的文章


数据库授权



版权声明:本文为max_1414原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。