mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限

一、用户权限(使用Navicat创建用户和分配权限)

1、权限结构:全局/数据库/表/列权限

2、主要权限(全部权限-ALL):

权限 权限级别 权限说明
CREATE 数据库、表、索引 创建数据库、表、索引
CREATE VIEW 视图 创建视图
DROP 数据库、表 删除创建数据库、表
UPDATE 更新表
INSERT 插入数据于表
DELETE 删除表数据
ALTER 更改表,比如,添加字段、索引
SELECT 查询
INDEX 索引
EXECUTE 存储过程 执行存储过程

3、权限分布:


9.png


二、使用Navicat客户端工具创建用户和分配权限:

(1) 全局权限:

10.png

11.png


(2) 数据库权限:


12.png

13.png

(3) 表权限:


14.pngimage.png



(4)列权限:


16.png17.png


三、mysql分配权限相关命令(授权grant、查看权利show grants、撤销权利revok、删除用户drop user):


1、赋予权限命令 grant:

■ 语法:

grant 权限

on 数据库对象

to 用户 identified by '密码'

with grant option;


(1) 当已经存在用户(例如shan)时,赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象)到用户shan

语法:grant select on mysqldemo.t_stu to shan@localhost;

grant 权限

on 数据库对象

to 用户;


(2) 当用户不存在时(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan

语法: grant select on mysqldemo.t_stu to shan@localhost identified by '1';

grant 权限

on 数据库对象

to 用户 identified by '密码';


(3) 当用户不存在时, 将授权GRANT OPTION 的权利也赋给当前用户(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan

语法: grant select on mysqldemo.t_stu to shan@localhost identified by '1' with grant option;

grant 权限

on 数据库对象

to 用户 identified by '密码'

with grant option;


✿ 分配权限的细节:

■ shan@localhost:shan用户,是只能在本地主机访问。

□ 用户账号:user@host,其中host的值,% 从任意地址访问, 10.250.8.% 只能访问特定的网段, 192.168.1.8 只能访问特定的ip。

localhost: 本机地址。

□ 查看电脑ip命令:ipconfig


2、查看用户的权限命令 show grants:

(1) 查看当前用户权限: show grants;

(2) 查看某个用户权限: show grants for 用户账号;

例如:在cmd控制台,以root 用户进入mysql,然后查看lucy的权限: show grants for lucy@localhost;


3、回收权限命令 revoke:

■ 语法:

revoke 权限

on 数据库对象

from 用户

例如:revoke select on . from lucy@localhost;

□ 注意:使用revoke 回收所有权限,则操作者必须是拥有mysql数据的全局create user或 update 权限。


4、删除用户账号权限 drop user:

■ 语法:drop user 用户账号;

例如:drop user lucy@localhost;

若主机是%,语法记得加上 '' 例如:drop user lucy@'%';

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
SQL 关系型数据库 MySQL
MySQL操作利器大公开!这几款客户端让你事半功倍
本文介绍了多种MySQL数据库管理工具,包括命令行工具、图形化用户界面(GUI)工具和Web界面工具。主要工具有: 1. **Navicat for MySQL**:功能强大,支持多种数据库管理任务,但需付费。 2. **DBeaver**:开源免费,支持多种数据库,安装包较大。 3. **MySQL Workbench**:官方提供的图形化工具,适合MySQL全家桶用户。 4. **HeidiSQL**:轻量级Windows客户端,简单易用。 5. **phpMyAdmin**:基于Web的管理工具,易于部署和使用。 6. **SQLyog**:适用于Windows,功能丰富,有免费
20 3
|
24天前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
1月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
205 1
|
1月前
|
SQL NoSQL 关系型数据库
|
2月前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
|
2月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
27 0
|
4天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
18 3
|
4天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
22 3
|
4天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
28 2