二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案)
用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。
通常,一个用户的密码不会长期不变,所以需要经常性的变更数据库用户密码来确保用户本身安全(mysql客户端用户)
一、用户管理
Mysql需要客户端进行连接认证才能进行服务器操作:需要用户信息。Mysql中所有的用户信息都是保存在mysql数据库下的user表中。
默认的,在安装Mysql的时候,如果不选择创建匿名用户,那么意味着所有的用户只有一个:root超级用户:
在mysql中,对用的用户管理中,是由对应的Host和User共同组成主键来区分用户。
User:代表用户的用户名
Host:代表本质是允许访问的客户端(IP或者主机地址)。
如果host使用%代表所有的用户(客户端)都可以访问
1.1 创建用户
理论上讲可以采用两种方式创建用户:
- 直接使用root用户在mysql.user表中插入记录(不推荐)
- 专门创建用户的SQL指令
基本语法:create user 用户名 identified by ‘明文密码’;
用户:用户名@主机地址
主机地址:’’ / ‘%’
查看mysql.user表中是否存在新增的用户:
简化版创建用户(谁都可以访问,不需要密码):
当用户创建完成之后,用户是否可以使用?
1.2 删除用户
注意:mysql中user是带着host本身的(具有唯一性)
基本语法:drop user 用户名@host;
1.3 修改用户密码
Mysql中提供了多种修改的方式:基本上都必须使用对应提供的一个系统函数:password(),需要靠该函数对密码进行加密处理。
- 使用专门的修改密码的指令
基本语法:set password for 用户 = password(‘新的明文密码’);
修改后的数据测试:
- 使用更新语句update来修改表
基本语法:update mysql.user set password = password(‘新的明文密码’) where user = ‘’ and host= ‘’;
二、权限管理
在mysql中将权限管理分为三类:
- 数据权限:增删改查(select\update\delete\insert)
- 结构权限:结构操作(create\drop)
- 管理权限:权限管理(create user\grant\revoke):通常只给管理员如此权限
2.1 授予权限:grant
将权限分配给指定的用户
基本语法:grant 权限列表 on 数据库/.表名/ to 用户;
权限列表:使用逗号分隔,但是可以使用all privileges代表全部权限
数据库.表名:可以是单表(数据库名字.表名),可以是具体某个数据库(数据库.),也可以整库(.*)
用户被分配权限以后不需要退出就可以看到效果:
具体权限查看:单表权限只能看到数据库中的一张表:
2.2 取消权限:revoke
权限回收:将权限从用户手中收回
基本语法:revoke 权限列表/all privileges on 数据库/.表/ from 用户;
权限回收,同样不需要刷新,用户马上就会感受到:
2.3 刷新权限:flush
Flush:刷新,将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。
基本语法:flush privileges;
三、密码丢失的解决方案
如果忘记了root用户密码,就需要去找回或者重置root用户密码
- 停止服务
- 重新启动服务:mysqld.exe –skip-grant-tables //启动服务器但是跳过权限
- 当前启动的服务器没有权限概念:非常危险,任何客户端,不需要任何用户信息都可以直接登录,而且是root权限:新开客户端,使用mysql.exe登录即可
- 修改root用户的密码:指定 用户名@host
- 赶紧关闭服务器,重启服务
二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案)相关推荐
- 【Linux】14.ubuntu忘记root密码、用户密码输入次数过多锁住的问题
忘记root密码.用户密码输入次数过多锁住的问题 1.忘记root密码 参考 https://www.linuxidc.com/Linux/2016-05/131256.htm (1) 忘了root密 ...
- 单用户模式,忘记root密码
单用户模式,忘记root密码 进入单用户模式 修复-bash-4.2 进入单用户模式 在工作生产过程中,经常会遇到root密码忘记或者是被修改的情况,如果不想进行重装系统,可以选择进入单用户模式来修改 ...
- win上mysql忘记root密码_MySQL数据库之windows下mysql忘记root密码的解决方法
本文主要向大家介绍了MySQL数据库之windows下mysql忘记root密码的解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 方法一: 1.在DOS窗口下输入net ...
- 查询电脑上mysql的密码忘记了怎么办_windows下mysql忘记root密码的解决方法 -电脑资料...
方法一: 1.在DOS窗口下输入net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录, 一般在bin目录里面创建一个批处理1.b ...
- mysql 忘记root_解决MySQL忘记root密码
网上有很多关于忘记MySQL root密码的一些文章,里面都有写怎么去解决,但有时觉得写得太恶心,要么一字不漏的抄别人的,要么就说得不清不楚,好了,不吐槽了,以下是解决的整个过程. 首先我们要知道忘记 ...
- 解决MySQL忘记root密码
网上有很多关于忘记MySQL root密码的一些文章,里面都有写怎么去解决,但有时觉得写得太恶心,要么一字不漏的抄别人的,要么就说得不清不楚,好了,不吐槽了,以下是解决的整个过程. 首先我们要知道忘记 ...
- mysql数据库忘记root密码
文章目录 mysql数据库忘记root密码 1.解决方法一: 2.解决方法二: mysql数据库忘记root密码 1.解决方法一: 步骤一:停止mysql服务 步骤二:使用mysqld_safe结合– ...
- mysql 5.7 mysqladmin root密码_Mysql5.7忘记root密码及mysql5.7修改root密码的方法
[引自豆花饭烧土豆的博客]关闭正在运行的 MySQL : [root@~]#servicemysqlstop 运行 [root@~]#mysqld_safe--skip-grant-tables 为了 ...
- linux mysql 忘记root密码_Linux MySQL忘记root密码解决方案
在使用MySQL数据库时,由于某些原因长时间没有登陆MySQL,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,如何解决? 一.更改my.cnf配置文件 1.用命令编辑/etc/my.cn ...
最新文章
- c语言英语笔试题,C语言面试题(国外英语资料).doc
- java 找不到符号变量_java编程找不到符号
- go get github.com/astaxie/beego 没有反应
- Java编程思想—第十二十三章
- 互联网架构“高并发”
- ajax查询功能查询源码,ajax实现分页查询功能
- 一个dsp最小系统至少要有_苏州设公厕指示牌,每500米至少要有一个
- vscode调试时几个常用参数的含义和设置总结
- cydia下载地址_Cydia下载完整安装包_cydia软件源官方下载-PChome下载中心
- 《活着》的优秀读后感范文3000字
- 一个月薪 12000 的北京程序员的真实生活
- 内推 | 这可能是2019年最难得的机会之一啦~
- 全球与中国终末期肾病(ESRD)设备市场现状及未来发展趋势(2022)
- vivado 2018.2官方下载
- 深度资讯|美团王兴带头承诺廉洁自律,互联网公司也需要“人民的名义”
- Python 使用pip安装OpenCV2
- QT CREATOR出现no Qt platform plugin问题
- Ubuntu登录后一直停留在桌面,只显示桌面背景
- Oracle_取随机数函数的常用方法
- 网络聊天软件现状及展望
热门文章
- python读取excel表格太大怎么办_Python:使用Openpyxl读取大型Excel工作表
- MySQL 之 performance_schema
- ajax同步和异步的区别_同步电机和异步电机区别
- python文件夹目录_Python 操作文件、文件夹、目录大全
- Python元类(type()和metaclass)
- Ansible执行过程分析、异步模式和速度优化
- js unescape 对应php的函数,php实现Javascript的escape和unescape函数
- smart700iev3 程序下载设置_分享一款Aira2下载工具
- secureCRT中文字符乱码
- 原型设计+用户规格说明书