一、创建用户和用户授权

  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区别之账户与安全的更多相关文章

  1. bootstrap 2.3版与3.0版的使用区别

    bootstrap 2.3版与3.0版的使用区别 bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了.那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介 ...

  2. HTTP详解(3)-http1.0 和http1.1 区别

    HTTP详解(3)-http1.0 和http1.1 区别 分类: 网络知识2013-03-17 16:51 1685人阅读 评论(0) 收藏 举报   目录(?)[+]   翻了下HTTP1.1的协 ...

  3. 最强离线安装MySQL_8.0.2方法

    最强离线安装MySQL_8.0.2方法,一次就能安装成功. 按照此方式,离线安装MySQL五分钟都花不到,节省了大量的宝贵时间. 前戏,假设你已经从MySQL官网中获取了下面这个压缩包: 解压之后变成 ...

  4. os.getcwd()、sys.path[0]、sys.argv[0]和__file__的区别,终于弄清楚了

    os.getcwd().sys.path[0].sys.argv[0]和__file__的区别 要分清这几个的区别与使用条件,实际测试一下是最准确的. 设计测试方法: 一个主模块用来运行,一个子模块用 ...

  5. mysql_8.0.12环境配置

    1. 官网下载mysql_8.0.12免安装包,解压到你存放的地方: 2. 配置环境变量(把bin的文件夹弄进系统path里面): 3. 在解压的根路径中,查看是否含有my.ini文件,没有就新建一个 ...

  6. MySQL主机127.0.0.1与localhost区别总结

    1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接, mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain&q ...

  7. http1.0 和 http1.1 区别

    http1.0 和 http1.1 主要区别 1.背景   KeepAlive是就是通常所称的长连接.KeepAlive带来的好处是可以减少tcp连接的开销,这对于短response body的请求效 ...

  8. localhost和127.0.0.1及ip区别

    1.127.0.0.1是回送地址,指本地机,一般用来测试使用.回送地址是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什 ...

  9. [ASP.NET]关于DOT NET的IIS配置LocalHost访问和127.0.0.1访问的区别

    项目上遇到一个问题跟大家分享下,配置的localhost地址本地无法访问接口,外网却可以访问,查其原因百度资料比较全面的解释 localhost与127.0.0.1的概念和工作原理之不同 要比较两个东 ...

随机推荐

  1. hdu 1215 求约数和 唯一分解定理的基本运用

    http://acm.hdu.edu.cn/showproblem.php?pid=1215 题意:求解小于n的所有因子和 利用数论的唯一分解定理. 若n = p1^e1 * p2^e2 * ……*p ...

  2. QT获取屏幕分表率(PC、安卓)

    QRect screenRect = QGuiApplication::primaryScreen()->geometry(); double devicePixelRatio = QGuiAp ...

  3. 解压版msyql8.0的安装和配置

    一.环境变量配置 变量名:MYSQL_HOME 变量值:D:\mysql-8.0.12-winx64\bin 然后在Path变量开头添加%MYSQL_HOME%:然后确定保存即可: 二.配置my.in ...

  4. Linux之用户相关操作

    1. 创建用户 useradd -m wolf #即创建一个用户并且创建同名的家目录 2. 设置密码 passwd wolf

  5. javascript中对编码的解读

    首先来一下js知识的巩固与复习 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,deco ...

  6. python连接oracle导出数据文件

    python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configpars ...

  7. ORM简单增删改查

    namespace ORM { class Program { static void Main(string[] args) { //AddPetStore();//添加 UpdatePetStor ...

  8. 07-【jsp基本了解】

    jsp 动态网页技术:服务器和用户交互的动态网页技术jsp[java server page ]jsp ≍ html +servletjsp 文件是以 *.jsp结尾:jsp文件 靠服务器运行,jsp ...

  9. spring-02

    spring-02 1.谈谈你对 Spring 的理解 Spring 是一个开源框架,为简化企业级应用开发而生.Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.S ...

  10. BLE 5协议栈-链路层

    文章转载自:http://www.sunyouqun.com/2017/04/page/3/ 链路层LL(Link Layer)是协议栈中最重要的一层. 链路层的核心是状态机,包含广播.扫描.发起和连 ...