MySQL 8.0用户及安全管理
用户的功能
登录数据库
管理数据库对象
用户的组成
用户名@'白名单'
白名单:
%
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)
由于加密插件导致无法登录
- 主从复制
- 高可用
- 老版本开发工具
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用户及安全管理的更多相关文章
- MySQL 8.0用户和角色管理
MySQL 8.0用户和角色管理 MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设 ...
- mysql 8.0.12 创建新的数据库、用户并授权
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码: [root@host]# mysqladmin -u root password "new_p ...
- zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-agent ...
- MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)
原文地址:https://blog.csdn.net/zgcr654321/article/details/82156277 安装完成MySQL后,打开MySQL workbench8.0. 可以看到 ...
- mysql 5.0.46安装配置
http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...
- RedHat下apache\ftp\mysql 4.0 的安装方法
RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...
- MySQL创建一个用户,指定一个数据库 授权
Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...
- MySQL 8.0.0 版本发布,亮点都在这了!
导读 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开 ...
- MySQL重置root用户密码的方法
本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程 ...
随机推荐
- 第三方库 正则表达式re模块
正则表通常被用来检索.替换那些符合某个模式(规则)的文本. 正则表达式通常缩写成“regex”,单数有regexp.regex,复数有regexps.regexes.regexen. 正则表达式是对字 ...
- Git 提交项目命令
git add . //添加⽂件到待提交区 git commit -m "注释" //创建⼀个提交 git push origin //将修改内容提交
- includes与indexOf
indexOf(a,b)是在es6之前常用的判断数组/字符串内元素是否存在的api,接收两个参数,第一个a代表要被查找的元素,必填.第二个代表从数组的某个坐标开始查找,可选 在数组中 通过indexO ...
- 用Eclipse开发项目,你不能不知道的快捷键
1. 编辑快捷键 编辑快捷键 介绍 psvm + Tab 生成main方法 sout + tab 生成输出语句 Ctrl+X / Ctrl + Y 删除一行 Ctrl+D 复制一行 Ctrl+/ 或 ...
- linux下编译boost的多线程程序
linux下面用boost库进行多线程编程,一开始总是编译不成功,花了好多的时间. 下面是一段小示例代码: //start from the very beginning,and to create ...
- 简单模拟实现Rxjs Observable
1.先定义类型 export type Observer = { next: (any) => void, complete?: (any) => void, } export inter ...
- Redis超详细总结
NoSQL概述 一.数据存储的演化史 1.单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付.在那个时候,更多的都是静态网页,动态交互类型的网站不多. 上述 ...
- springboot中json转换LocalDateTime失败的bug解决过程
环境:jdk1.8.maven.springboot 问题:前端通过json传了一个日期:date:2019-03-01(我限制不了前端开发给到后端的日期为固定格式,有些人就是这么不配合), ...
- E. Reachability from the Capital dfs暴力
E. Reachability from the Capital 这个题目就是给你一个有向图,给你起点,问增加多少条边让这个图变成一个连通图. 这个因为n只有5000m只有5000 所以可以暴力枚举这 ...
- 字典树变形 A - Gaby And Addition Gym - 101466A
A - Gaby And Addition Gym - 101466A 这个题目是一个字典树的变形,还是很难想到的. 因为这题目每一位都是独立的,不会进位,这个和01字典树求最大的异或和是不是很像. ...