MySQL5.7用户创建及权限管理
一 用户、权限管理
1.1 用户
作用: 登录,管理数据库逻辑对象
定义: 用户名@'主机值'
主机值可以是主机名或IP地址,主机值中允许使用通配符
root@'10.0.0.%'
root@'%'
root@'10.0.0.51'
root@'localhost'
root@'db02' # 主机名不能是数字开头
root@'10.0.0.5%'
root@'10.0.0.0/255.255.0.0' # 10.0 B类网络上任何主机
1.2 用户管理操作
增:
mysql> create user dev@'10.0.0.%' identified by '123';
查:
mysql> desc mysql.user; ----> mysql5.7 开始新版的mysql数据库下的user表中已经没有password字段了保存密码的字段变成了authentication_string字段
mysql> select user, host, authentication_string from mysql.user;
改:
mysql> alter user dev@'10.0.0.%' identified by '456';
删:
mysql> drop user dev@'10.0.0.%';
1.3 权限管理操作
grant '权限' on '作用域' to '用户';
mysql> grant all on *.* to 'test'@'%';
Query OK, 0 rows affected (0.00 sec)
所有权限:
https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
常用权限介绍:
select:可以从数据库中的表中查询数据
insert:可以插入数据到数据库的表中
update:可以对数据库中的表进行更新数据
delete:可以从数据库中的表中删除数据
alter:可以使用 alter table 来改变表的结构
create:可以创建新的数据库或表的语句
drop:能够删除现有数据库,表和视图
grant option:可以向其它用户授予或移除权限
index:可以创建和删除索引
all或all privileges:代表指定权限等级的所有权限
作用域:
*.* ---->代表所有数据库的权限
school.* ----> school 数据库下所有表
school.t1 ----> school 数据库下 t1 表
示例:
创建一个普通管理员账号,具有所有库的所有权限
mysql> grant all on *.* to root@'10.0.0.%' identified by '123';
创建一个管理员账号,并能给其它账号授权
grant all on *.* to root@'10.0.0.%' identified by '123' with grant option;
创建一个程序用户,具备 app 库下增删查改权限
mysql> grant select, update, insert, delete on app.* to app@'10.0.0.%' identified by '123';
1.4 查看权限
mysql> show grants for app@'10.0.0.%';
1.5 回收权限
mysql> revoke delete on wordpress.* from app@'10.0.0.%';
1.6 提示
1.6.1 和用户相关操作,执行完后都需要刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
1.6.2 mysql8.0在grant命令添加特性:
- 建用户和授权分开了
- grant 不再支持自动创建用户了,不支持改密码
- 授权之前,必须要提前创建用户。
示例:
mysql> create user 'test'@'%' identified by '123news';
Query OK, 0 rows affected (0.00 sec)
mysql> grant select, insert on *.* to 'test'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
1.7 忘记本地root管理员密码
- --skip-grant-tables #跳过授权表
- --skip-networking #跳过远程登录,防止外面人连进来
- --defaults-file #指定启动配置文件位置
[root@db01 ~]# systemctl stop mysqld3307.service
[root@db01 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-tables --skip-networking &
mysql> flush privileges; #加载权限表
mysql> alter user root@'localhost' identified by '123456';
mysql> exit
Bye
[root@db01 ~]# pkill mysqld
[root@db01 ~]# systemctl start mysqld3307
MySQL5.7用户创建及权限管理的更多相关文章
- sql server 用户创建与权限管理
要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一.获得准许连接 SQL Server 服务器的权利: 二.获得访问特定数据库中数据的权利(select, update, ...
- Informatica学习:3、用户创建与权限管理
环境:win7 下安装Informatica 9.6.1 服务器端与客户端作为学习之用,Linux大同小异 一.用户创建(服务器端) 1.登陆admin console (1)打开Admin Cons ...
- Linux用户创建及权限管理
作业一: 1,新建用户natasha,uid为1000,gid为555,备注信息为“master” useradd natasha vim /etc/passwd ...
- Mongo 用户创建及权限管理
Mongo版本3.0之前使用的是db.addUser(),但3.0之后使用的是db.createUser() 内建的角色: 数据库用户角色:read.readWrite; 数据库管理角色:dbAdmi ...
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...
- [转载]Oracle用户创建及权限设置
出处:https://www.cnblogs.com/buxingzhelyd/p/7865194.html 权限: create session 允许用户登录数据库权限 create table ...
- 实验楼学习linux第一章第三节用户及文件权限管理
用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用 ...
- MySQL数据库(6)_用户操作与权限管理、视图、存储过程、触发器、基本函数
用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIE ...
- solaris用户与文件权限管理
此文章已于 20:45:28 2015/3/22 重新发布到 zhuxuekui3 solaris用户与文件权限管理1 类别 「网站分类」Oracle 一.用户与用户组管理 三种用户:超级用户. ...
随机推荐
- SPSSAU数据分析思维培养系列1:数据思维篇
今天,SPSSAU给大家带来[数据分析思维培养]系列课程.主要针对第一次接触数据分析,完全不懂分析的小白用户,或者懂一些简单方法但苦于没有分析思路,不知道如何规范化分析. 本文章为SPSSAU数据分析 ...
- 区块链入门到实战(19)之以太坊(Ethereum) – 以太币
以太币的作用:防范以太坊网络被滥用和激励矿工. 与比特币网络有比特币类似,以太坊(Ethereum)也有自己的虚拟币 — 以太币. 以太币的主要作用有2个: 应用程序执行任何操作都需要支付以太币,防范 ...
- Qt QString字符串分割、截取
在做项目中不可避免的会使用到一串字符串中的一段字符,因此常常需要截取字符串. 有两种方式可以解决这个问题: 方法一:QString分割字符串: QString date=dateEdit.toStri ...
- 微信小程序如何快速开通流量主
1.先开发小程序,小程序需要有亮点,毕竟新颖(这样别人才更好去点击查看) 2.条件是独立访客(UV)不低于1000,1000人说多不多,说少也不少,因为小程序是没有链接的,是不可以进行一个流量刷取的, ...
- CefSharp如何判断页面是否加载完
问题:CefSharp如何判断页面是否加载完毕. 摘要:相信C#用CefSharp做浏览器来发的应该有很多人都会有遇到这个问题.特别是要执行JavaScript的时候,涉及到跨页面的JavaScrip ...
- Vulkan相关资源
https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/vulkan/resources.md Intel API without ...
- Volatile关键字&&DCL单例模式,volatile 和 synchronized 的区别
Volatile 英文翻译:易变的.可变的.不稳定的. 一.volatile 定义及用法 多个线程的工作内存彼此独立,互不可见,线程启动的时候,虚拟机为每个内存分配一块工作内存,不仅包含了线程内部定义 ...
- Oracle数据库时提示“ORA-28000
当使用SQL*Plus登录时,Oracle数据库时提示“ORA-28000:帐号被锁定”. 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“F ...
- 【好文分享】为什么强烈禁止开发人员使用isSuccess作为变量名
原文来自阿里云hollies:https://developer.aliyun.com/article/701413 简介: 在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提 ...
- Ocelot+Consul实现微服务架构
API网关 API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口.这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式.以前的话,客户端不得不去请求微服务A ...