用户的功能

登录数据库
管理数据库对象

用户的组成

用户名@'白名单'

白名单:

%
10.0.0.10
10.0..%
10.0.0.5%
10.0.0.0/255.255.254.0
oldguo.com
db01
127.0.0.1
localhost ----> socket

用户的管理

创建用户

sha2 : .0新的特性
create user test@'localhost' identified by '123456'; native: 兼容老版本
create user test@'10.0.0.%' identified with mysql_native_password by '123456';
mysql> select user,host,authentication_string,plugin from mysql.user where user='test';
+------+-----------+------------------------------------------------------------------------+-----------------------+
| user | host | authentication_string | plugin |
+------+-----------+------------------------------------------------------------------------+-----------------------+
| test | 10.0..% | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | mysql_native_password |
| test | localhost | $A$$N]i!&l5mc<\]LLWHVU6M3YoRDkeSbKtTpDAary4WGFMtmapVJxyNwnd0 | caching_sha2_password |
+------+-----------+------------------------------------------------------------------------+-----------------------+
rows in set (0.01 sec)

删除用户

mysql> drop user test@'10.0.0.%';
Query OK, rows affected (0.00 sec)

修改用户

mysql> alter user test@'localhost' identified with mysql_native_password by '';
Query OK, rows affected (0.00 sec)

由于加密插件导致无法登录

  1. 主从复制
  2. 高可用
  3. 老版本开发工具
mysql>  create user test1@'%' identified  by '';
Query OK, rows affected (0.00 sec)

用户资源管理

密码过期时间

mysql> select @@default_password_lifetime;
+-----------------------------+
| @@default_password_lifetime |
+-----------------------------+
| | 默认:密码永不过期
+-----------------------------+
row in set (0.00 sec)

设置密码时效

# 设置密码有效期为180天
mysql> SET PERSIST default_password_lifetime = ;
Query OK, rows affected (0.00 sec) mysql> select @@default_password_lifetime;
+-----------------------------+
| @@default_password_lifetime |
+-----------------------------+
| |
+-----------------------------+
row in set (0.00 sec)
CREATE USER 'test'@'localhost' PASSWORD EXPIRE INTERVAL  DAY;
ALTER USER test@'localhost' PASSWORD EXPIRE INTERVAL DAY;
CREATE USER 'test'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER 'test'@'localhost' PASSWORD EXPIRE NEVER;

密码重用

默认随意重复使用

password_history=             # 6次之内不能重复使用此密码
password_reuse_interval= # 365天之内不能重复使用此密码

用户的锁定与解锁

ALTER USER 'app_dev'@'localhost' ACCOUNT LOCK;
ALTER USER 'app_dev'@'localhost' ACCOUNT UNLOCK;

权限管理

权限列表

mysql> show privileges;
常用权限:
Alter
Alter routine
Create
Create routine
Create role
Create temporary tables
Create view
Create user
Delete
Drop
Drop role
Event
Execute
File
Grant option
Index
Insert
Lock tables
Process
Proxy
References
Reload
Replication client
Replication slave
Select
Show databases
Show view
Shutdown
Super
Trigger
Create tablespace
Update

授权

8.0版本不能授权和设置密码一起写,多次授权同一用户是叠加权限而不是覆盖

mysql> grant all on *.* to zh@'localhost';

查看权限

mysql> show grants for zh@'localhost' ;
+----------------------------------------+
| Grants for zh@localhost |
+----------------------------------------+
| GRANT USAGE ON *.* TO `zh`@`localhost` | ##Usage表示只有连接库权限
+----------------------------------------+
row in set (0.00 sec)

对某一列授权

回收权限

mysql> revoke delete on *.* from zh@'localhost';
Query OK, rows affected (0.01 sec) mysql> revoke select(id) on test.account from user1@'10.0.0.%';
Query OK, rows affected (0.00 sec)

基于role的创建和授权

查看所有role

生产中的用户类型权限规范

管理员 : ALL
开发 : Create ,Create routine,Create temporary tables,Create view,Delete ,Event ,Execute,Insert ,References,Select,Show databases ,Show view ,Trigger,Update
监控 : select , replication slave , client supper
备份 : ALL
主从 : replication slave
业务 : insert , update , delete ,select 

MySQL 8.0用户及安全管理的更多相关文章

  1. MySQL 8.0用户和角色管理

    MySQL 8.0用户和角色管理 MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设 ...

  2. mysql 8.0.12 创建新的数据库、用户并授权

    Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码: [root@host]# mysqladmin -u root password "new_p ...

  3. zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户

    zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-agent ...

  4. MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)

    原文地址:https://blog.csdn.net/zgcr654321/article/details/82156277 安装完成MySQL后,打开MySQL workbench8.0. 可以看到 ...

  5. mysql 5.0.46安装配置

    http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...

  6. RedHat下apache\ftp\mysql 4.0 的安装方法

    RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...

  7. MySQL创建一个用户,指定一个数据库 授权

    Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  8. MySQL 8.0.0 版本发布,亮点都在这了!

    导读 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开 ...

  9. MySQL重置root用户密码的方法

    本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程 ...

随机推荐

  1. css套路学习(一)

    css3信息获取方法 文档搜索:Google css spec; Google: 关键词 MDN; css tricks成熟css代码块sinppets; Google: center css tri ...

  2. 使用mysqldump自动备份数据库脚本

    每天利用计划任务在凌晨1点自动执行,备份zabbix的数据库至本地的/backup/mysql_backup目录 #!/bin/sh DUMP=/usr/bin/mysqldump OUT_DIR=/ ...

  3. THU OS

    前言 最近在学清华的OS课程,实验课做的真厉害. 我们的操作系统课就是写一个系统调用,改下进程软中断通信的代码,代码量不足500...清华是借鉴MIT的课,实验课都是做一个完整的小型操作系统. 一共8 ...

  4. 图论--2-SAT--Tarjan连通分量+拓扑排序O(N+M)模板

    #include <cstdio> #include <cstring> #include <queue> #include <vector> #inc ...

  5. POJ - 2251 Dungeon Master(搜索)

    You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...

  6. Python2 与 Python3 的区别

    python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与python3的区别 ...

  7. 也谈解决Combobox绑定数据后取值出现System.Data.DataRowView的问题

    刚才遇到一个怪现象:同一个窗口,同一张表,通过第一个Combobox值的改变,动态绑定第二个Combobox,结果出现一个怪现象,第一个Combobox有的值改变第二个Combobox一切正常,有几个 ...

  8. properties文件导出

    功能要求根据数据库记录的key-value-remark 数据,导出保存properties文件 1. pro.load()  pro.list() 处理不能解决备注.排序问题 2. 最后考虑下什么是 ...

  9. Spark SQL源码解析(四)Optimization和Physical Planning阶段解析

    Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Spark SQL源码解析(三 ...

  10. aui移动端UI库

    aui 简介 aui 是一套基于原生javascript开发的移动端UI库,包含常用js方法.字符校验.dialog提示弹窗.侧滑菜单.时间选择器.多级联动.聊天UI.项目常用模板...... 特点 ...