MySQL_8.0与5.7区别之账户与安全
一、创建用户和用户授权
MySQL5.7创建用户和用户授权命令可以同时执行
grant all privileges on *.* to 'Gary'@'%' identified by 'Gary@2019'
MySQL8.0创建用户和用户授权的命令需要分开执行
创建用户
create user 'Gary'@'%' identified by 'Gary@2019';
用户授权【给予所有权限】
grant all privileges on *.* to 'Gary'@'%'
二、认证插件更新
MySQL8.0中默认的身份插件是caching_sha2_password,替代了之前mysql_native_password
通过查看default_authentication_plugin和mysql.user可以查看系统中的变化
show variables like 'default_authentication%'
select user,host,plugin from mysql.user;
也可以把8.0中身份认证插件caching_sha2_password改回原来的mysql_native_password
alter user 'Gary'@'%' identified with mysql_native_password by 'Gary@2020'
三、密码管理
MySQL8.0开始允许限制重复使用以前的密码
使用 show variables like 'password%' 指令可查看对密码管理的限制
password_history = 3 #新密码不能和近期3次内旧密码相同
password_reuse_interval = 90 #新密码不能喝近90天密码相同
password_require_current = ON #修改密码时用户需要提供当前密码
动态修改其中的参数
alter user 'Gary'@'%' password history 5;
可同过修改用户密码语句进行测试
alter user 'Gary'@'%' identified by 'Gary@2019';
可查看用户修改密码历史表
select * from mysql.password_history;
当设置password_require_current = ON,用户修改密码时需要提供当前密码
alter user user() identified by 'Gary@2021' replace 'Gary@2020';
四、角色管理
MySQL8.0提供了角色管理的新功能,角色是一组权限的集合
角色也是一个用户,用角色去模拟用户,可以对角色去进行权限授权
【实践】
创建数据库
create database garydb;
创建数据库表
create table garydb.tl(id int)
创建一个角色【新创建出来的角色无任何权限】
create role 'Gary_role';
给角色授予增、删、改的权限
grant insert,update,delete on garydb.* to 'Gary_role';
创建一个用户
create user 'user1' identified by 'User1@2019';
将角色授予给用户
grant 'Gary_role' to 'user1';
显示用户权限
show grants for 'user1';
show grants for 'user1' using 'Gary_role';
MySQL_8.0与5.7区别之账户与安全的更多相关文章
- bootstrap 2.3版与3.0版的使用区别
bootstrap 2.3版与3.0版的使用区别 bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了.那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介 ...
- HTTP详解(3)-http1.0 和http1.1 区别
HTTP详解(3)-http1.0 和http1.1 区别 分类: 网络知识2013-03-17 16:51 1685人阅读 评论(0) 收藏 举报 目录(?)[+] 翻了下HTTP1.1的协 ...
- 最强离线安装MySQL_8.0.2方法
最强离线安装MySQL_8.0.2方法,一次就能安装成功. 按照此方式,离线安装MySQL五分钟都花不到,节省了大量的宝贵时间. 前戏,假设你已经从MySQL官网中获取了下面这个压缩包: 解压之后变成 ...
- os.getcwd()、sys.path[0]、sys.argv[0]和__file__的区别,终于弄清楚了
os.getcwd().sys.path[0].sys.argv[0]和__file__的区别 要分清这几个的区别与使用条件,实际测试一下是最准确的. 设计测试方法: 一个主模块用来运行,一个子模块用 ...
- mysql_8.0.12环境配置
1. 官网下载mysql_8.0.12免安装包,解压到你存放的地方: 2. 配置环境变量(把bin的文件夹弄进系统path里面): 3. 在解压的根路径中,查看是否含有my.ini文件,没有就新建一个 ...
- MySQL主机127.0.0.1与localhost区别总结
1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接, mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain&q ...
- http1.0 和 http1.1 区别
http1.0 和 http1.1 主要区别 1.背景 KeepAlive是就是通常所称的长连接.KeepAlive带来的好处是可以减少tcp连接的开销,这对于短response body的请求效 ...
- localhost和127.0.0.1及ip区别
1.127.0.0.1是回送地址,指本地机,一般用来测试使用.回送地址是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什 ...
- [ASP.NET]关于DOT NET的IIS配置LocalHost访问和127.0.0.1访问的区别
项目上遇到一个问题跟大家分享下,配置的localhost地址本地无法访问接口,外网却可以访问,查其原因百度资料比较全面的解释 localhost与127.0.0.1的概念和工作原理之不同 要比较两个东 ...
随机推荐
- ubuntu14.04 x86编译upx 3.92 及so加固
的参考文章: http://www.cnblogs.com/fishou/p/4202061.html 1.download upx和所依赖的组件 upx3.:https://www.pysol.or ...
- ubuntu18.3完美安装qq
创建一个脚本全自动安装 #!/bin/bash # 安装 deepin-wine sudo mkdir deepin-wine deepin-qq cd deepin-wine git clone h ...
- 4.移动端自动化测试-API讲解
一.前置代码 1.导入driver对象 from appium import webdriver 2.声明手机驱动对象 只有声明驱动对象我们才可以让手机完成脚本的操作 driver = ...
- 2019-11-29-解决从旧格式的-csproj-迁移到新格式的-csproj-格式-AssemblyInfo-文件值重复问题...
title author date CreateTime categories 解决从旧格式的 csproj 迁移到新格式的 csproj 格式 AssemblyInfo 文件值重复问题 lindex ...
- centos php7 amqp
yum install -y librabbitmq-devel /home/git/php/bin/pecl install amqp echo "extension=amqp.so&qu ...
- Delphi ADO组件
樊伟胜
- 【2017-05-19】WebForm复合控件、用DropDownList实现时间日期选择。
自动提交的属性: AutoPostBack="True" 1.RadioButtonList 单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...
- Asp.Net Zero轻量级审核流设计
复杂的业务系统中往往会集成工作流或审核流,但有些轻量及的业务系统对这些功能的需求并不大,有的系统甚至只需要审核功能就够了.这里给大家介绍在Asp.Net Zero中通用轻量及审核流设计,功能具备审核权 ...
- 解决Zabbix某台主机突然频繁告警"Zabbix agent on xxxxxx is unreachable for x minutes"
一.某台主机突然某一天频繁告警zabbix agent不可达 查看zabbix agent日志没有发现异常 二.查看zabbix server日志发现这台主机的日志有大量报错信息"first ...
- Python库整理
库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...