第03章 用户和权限管理【1.MySQL架构篇】【MySQL高级】1

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 第03章 用户和权限管理【1.MySQL架构篇】【MySQL高级】1

前言

2022/7/28 18:15

暑假学习ing

推荐

【MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!-哔哩哔哩】

尚硅谷MySQL学习笔记

第03章 用户和权限管理

1. 用户管理

MySQL用户可以分为普通用户root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和 修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。

MySQL提供了许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、删 除用户、密码管理和权限管理等内容。

MySQL数据库的安全性需要通过账户管理来保证

1.1登录MySQL服务器

启动MySQL服务后,可以通过mysql命令来登录MySQL服务器,命令如下:

mysql -h hostname|hostIP  -P port -u username -p DatabaseName  -e "SQL语句"
mysql -h localhost -P 3306 -p dbtest1 -e "select * from emp1;"

查看用户

use mysql;
select * from user \G;
select host,user from user;



1.2 创建用户

在MySQL数据库中,官方推荐使用CREATE USER语句创建新用户。MySQL8版本移除了PASSWORD加密方法,因此不再推荐使用INSERT语句直接操作MySQL中的user表来增加用户。


使用CREATE USER语句来创建新用户时,必须拥有CREATE USER权限。每添加一个用户,CREATEUSER语句会在 MySQL.user表中添加一条新记录,但是新创建的账户没有任何权限。如果添加的账户已经存在,CREATEUSER语 句就会返回一个错误。

CREATE USER语句的基本语法形式如下:

CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名[IDENTIFIED BY '密码']];

用户名参数表示新建用户的账户,由用户(User)和主机名(Host)构成;

“[]”表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户可以直接登录。不过,不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用IDENTIFIED BY指定明文密码值。

CREATE USER语句可以同时创建多个用户。

举例:

create user 'zhang3' identified by 'abc123';

再次创建,会报错,已有用户。


create user 'zhang3'@'localhost' identified by 'abc123';



可以看出:user的主键是user和localhost的联合主键

测试登录:

默认的权限有限


只有登录权限。


再举例:




1.3 修改用户

修改用户名:

UPDATE mysql.user SET USER='wang5' WHERE USER='li4' and host='%';
# 一定进行的操作
FLUSH PRIVILEGES;

1.4 删除用户

方式1:使用DROP方式删除(推荐)

可以同时删除好多。

默认删除host=%

drop user 'wang5';


方式2:使用DELETE方式删除

delete from user where user ='zhang3' and host = '%';
直接删除user表中的记录,可能会有残留,不推荐

1.5 设置当前用户密码

适用于root用户修改自己的密码,以及普通用户登录后修改自己的密码。
root用户拥有很高的权限,因此必须保证root用户的密码安全。root用户可以通过多种方式来修改密码,使用 ALTER USER修改用户密码是MySQL官方推荐的方式。此外,也可以通过SET语句修改密码。由于MySQL8中已移除了PASSWORD()函数,因此不再使用UPDATE语句直接操作用户表修改密码。

旧的写法如下:
#修改当前用户的密码:(MySQL5.7测试有效)  
SET PASSWORD = PASSWORD('123456')I

这里介绍推荐的写法:

1.使用ALTER USER命令来修改当前用户密码

用户可以使用ALTER命令来修改自身密码,如下语句代表修改当前登录用户的密码。基本语法如下:

ALTER USER USER() IDENTIFIED BY 'new_password';

练习:下面使用ALTER命令来修改root用户的密码,将密码改为“Hello_1234”。命令如下:

ALTER USER USER() IDENTIFIED BY 'Hello_1234';



2.使用SET语句来修改当前用户密码

使用root用户登录MySQL后,可以使用SET语句来修改密码,具体SQL语句如下:

SET PASSWORD='new_password';

该语句会自动将密码加密后在赋给当前用户。

练习:下面使用ALTER命令来修改root用户的密码,将密码改为“Hello_1234”。SET语句具体如下:

SET PASSWORD= 'Hello_1234';



说明:加密

mysql> use mysql;
Database changed
mysql> desc user;



select host,user,authentication_string from user;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
27天前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
88 1
|
2月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
3月前
|
SQL 关系型数据库 MySQL
(二十五)MySQL主从实践篇:超详细版读写分离、双主热备架构搭建教学
在上篇《主从原理篇》中,基本上把主从复制原理、主从架构模式、数据同步方式、复制技术优化.....等各类细枝末节讲清楚了,本章则准备真正对聊到的几种主从模式落地实践,但实践的内容通常比较枯燥乏味,因为就是调整各种配置、设置各种参数等步骤。
466 2
|
4月前
|
SQL 存储 关系型数据库
(一)全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构!
无论你是前端还是后端,只要是一个合格的开发者,对于MySQL这个名词相信都不陌生,MySQL逐渐成为了最受欢迎的关系型数据库,无论你是大前端,亦或是Java、Go、Python、C/C++、PHP....等这些语言的程序员,对于MySQL是必然要掌握的核心技术之一,程序员不能没有MySQL,就像西方不能失去耶路撒冷一般。
683 0
|
21天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
63 2
|
25天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
76 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
5天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
45 10
|
5天前
|
运维 Cloud Native 持续交付
云原生架构下的微服务设计原则与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境中微服务设计的几大核心原则,包括服务的细粒度划分、无状态性、独立部署、自动化管理及容错机制。通过分析这些原则背后的技术逻辑与业务价值,结合具体案例,展示了如何在现代云平台上实现高效、灵活且可扩展的微服务架构,以应对快速变化的市场需求和技术挑战。 ####
23 7

热门文章

最新文章