设为首页 收藏本站
查看: 748|回复: 0

[经验分享] 数据库-mysql用户权限和管理

[复制链接]

尚未签到

发表于 2018-10-4 09:00:19 | 显示全部楼层 |阅读模式
  一、Mysql权限列表
权限权限级别权限说明create数据库、表或索引创建数据库、表或索引权限drop数据库或表删除数据库或表权限grant option数据库、表或保存的程序赋予权限选项references数据库或表外键权限alter表更改表,比如添加字段、索引、修改字段等delete表删除数据权限index表索引权限insert表插入权限select表查询权限update表更新权限create view视图创建视图权限show view视图查看视图权限alter routine存储过程更改存储过程权限create routine存储过程创建存储过程权限execute存储过程执行存储过程权限file服务器主机上的文件访问文件访问权限create temporary tables服务器管理创建临时表权限lock tables服务器管理锁表权限create user服务器管理创建用户权限proccess服务器管理查看进程权限reload服务器管理执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限replication client服务器管理复制权限replication slave服务器管理复制权限show databases服务器管理查看数据库权限shutdown服务器管理关闭数据库权限super服务器管理执行kill线程权限  二、Mysql用户权限管理操作
  1. 权限查询:
  (1)查看mysql的所有用户及其权限:
select * from mysql.user\G;   #(格式化显示)
DSC0000.jpg

  (2)查看当前mysql用户权限:
show grants;
DSC0001.jpg

  (3)查看某个用户的权限:
show grants for username@host; #用户名@主机  示例:
show grants for test@localhost;
DSC0002.jpg

  (4)查看所有用户
select host,user from mysql.user;
DSC0003.jpg

  2. Mysql用户创建:
  使用create user命令创建。
create user '用户名'@'主机' identified by '密码';  示例:
create user 'yangchao'@'localhost' identified by 'yangchao';  
flush privilege;        #创建完用户及权限后,需要使用该命令刷新权限
DSC0004.jpg

  3. Mysql用户删除:
drop user '用户名'@'主机';  4. Mysql用户权限授予:
  刚创建的用户默认是没有权限的,需要使用grant指令进行权限的授予。
  grant指令完整格式:
grant 权限列表 on 数据库名.数据表名 to ‘用户名’@’主机’ identified by ‘密码’ with grant option; #数据库名.*代表库下所有的表  示例:
grant all privileges on *.* to ‘yangchao1’@'localhost' identified by 'yangchao1' with grant option;
DSC0005.jpg

  可使用“*”表示所有数据库或所有数据表,“%”表示任何主机地址。
  如:
grant all privileges on *.* to ‘yangchao1’@'%' identified by 'yangchao1';
DSC0006.jpg

  可以使用grant重复给用户添加权限,进行权限叠加。
  with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人,可以不添加
  记得授权后一定要刷新权限:
flush privileges;  5. Mysql用户权限回收:
  revoke指令格式:
revoke 权限列表 on 数据库名.数据表名 from 用户名@主机;  示例:
revoke drop on *.* from test@localhost;#回收drop权限  注意:
  其实GRANT语句在执行的时候,如果权限表中不存在目标账号,则创建账号;如果已经存在,则执行权限的新增。
  usage权限不能被回收,也就是说,REVOKE用户权限并不能删除用户。
  6. 对账户重命名:
rename user '旧用户名'@'旧主机' to '新用户名'@'新主机';  示例:
rename user 'test'@'localhost' to 'test1'@'localhost';  7. Mysql用户密码修改:
  方法一:使用set password命令。
set password for '用户名'@'主机' = password('新密码'); #需要执行刷新权限  
flush privileges;
  示例:
  set password for 'yangchao'@'localhost' = password('123456');
flush privileges;
DSC0007.jpg

  方法二:使用grant指令在授权时修改密码:
grant select on 数据库名.数据表名 to 用户名@主机 identified by '新密码' with grant option;  示例:
grant select on test.user to test@localhost identified by '111111' with grant option;  方法三:运行mysqladmin脚本文件。
  该文件一般在mysql安装目录下的bin目录中。进入该目录,根据一下两种具体情况输入命令(只有root用户有这个权限)。
  (1)用户尚无密码:
mysqladmin -u 用户名 password 新密码;  (2)用户已有密码:
mysqladmin -u 用户名 -p password 新密码;
DSC0008.jpg

  (回车后会提示输入旧密码,输入之后即可修改成功。)
  注意:
  更改密码时候一定要使用PASSWORD函数(mysqladmin 和GRANT 两种方式不用写,会自动加上)。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-611688-1-1.html 上篇帖子: MySQL 数据库常用存储引擎的特点 下篇帖子: Mysql之存储过程和函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表