MySQL用户与权限

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MySQL用户与权限用户连接到mysql,并做各种查询,在用户和服务器中间分为两个阶段:1:用户是否有权连接上来2:用户是否有权执行此操作(如select,update等等)先看第一个阶段:服务器如何判断用户是否有权连接上来依据三个参数:你从哪来? host你是谁? user你...

MySQL用户与权限
用户连接到mysql,并做各种查询,在用户和服务器中间分为两个阶段:

1:用户是否有权连接上来

2:用户是否有权执行此操作(如select,update等等)

先看第一个阶段:服务器如何判断用户是否有权连接上来

依据三个参数:

你从哪来? host

你是谁? user

你的密码是多少? password

用户的这3个信息,存储在mysql库中的user表下


修改host域,使IP可以连接

update user set host='ip地址' where user='root';
flush privileges;#冲刷权限
我们也可以删除用户使此用户无法连接:

delete from user where user='';

flush privileges;

如何修改用户的密码:

在mysql8.0版本以上修改密码的话使用如下语句完成:

use mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
新增一个用户并授权:

MySQL8.0以下的使用下面的语句

grant [权限1,权限2,权限3......]on 哪个库.哪张表 to 用户@'host' identfied by 'password';

MySQL8.0以上需要将创建用户和授权分开进行:

创建新用户:

create user 'lisi'@'192.168.3.110' identified by'111111';

给新用户授权:

grant all privileges on . to 'lisi'@'192.168.3.110';

常用权限有all,create,drop,insert,delete,update,select

我们来查看一下lisi用户的全局权限:

可以看到他的权限是非常大的;那么现在我们要收回权限:

收回权限

revoke all on . form 'lisi'@'192.168.3.110';
那么我们授权lisi用户的test库权限:

grant all on test.* to 'lisi'@'192.168.3.110';
然后我们再看lisi用户的全局权限:

select * from user where user='lisi'G

我们看到它的全局权限变成了NO,但是他真的就没有任何权限吗?

其实不是的,他在db表的记录里还有权限:

select * from db where user='lisi'G

而且我们show databases;可以发现他还有操作test库的权力:

-------------------------------------------

同样的,我们使用grant all on test.goods to 'lisi'@'192.168.3.110';这条语句还能赋予lisi操作表的权力。
原文地址https://www.cnblogs.com/wanghaoyu666/p/11326351.html

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
SQL 关系型数据库 MySQL
mysql用户权限设置
mysql用户权限设置
|
23天前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
53 0
|
3月前
|
关系型数据库 MySQL
MySQL错误 -.--secure-file-priv 无导出权限
MySQL错误 -.--secure-file-priv 无导出权限
33 0
|
3月前
|
SQL 关系型数据库 MySQL
|
4月前
|
安全 关系型数据库 MySQL
Flink CDC中MySQL 进行cdc的用户需要什么权限?
Flink CDC中MySQL 进行cdc的用户需要什么权限?
315 1
|
4月前
|
存储 关系型数据库 MySQL
mysql(三)用户权限管理
为什么要设置用户权限?MySQL设置用户管理权限的主要目的是为了确保数据库的安全性和数据的机密性。以下是一些原因。
78 1
mysql(三)用户权限管理
|
30天前
|
安全 关系型数据库 应用服务中间件
连接rds设置网络权限
连接阿里云RDS需关注:1) 设置白名单,允许特定IP访问;2) 选择合适网络类型,如VPC或经典网络;3) 确保VPC内路由与安全组规则正确;4) 同VPC内可使用内网地址连接;5) 可启用SSL/TLS加密增强安全性。记得遵循最小权限原则,确保数据库安全。不同服务商操作可能有差异,但基本流程相似。
22 9
|
6月前
|
SQL 关系型数据库 MySQL
MySQL 数据控制语言(DCL):管理用户权限
MySQL 是一个强大的关系型数据库管理系统,提供了丰富的功能和选项来管理数据库和用户。数据库管理员(DBA)通常使用数据控制语言(Data Control Language,简称 DCL)来管理用户的权限和访问。 本文将详细介绍 MySQL DCL 的基本概念,包括如何创建用户、授权和撤销权限等,同时提供示例代码以帮助您更好地理解。
102 2
|
2月前
|
安全 关系型数据库 MySQL
mysql权限
mysql权限
19 2
|
2月前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
43 0