【MySql】入门,存储引擎,授权----保姆级别教学

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【MySql】入门,存储引擎,授权----保姆级别教学



一,什么是MySql

        一种开源的关系型数据库管理系统(RDBMS),它是由瑞典MySQL AB公司开发并维护的,后来被Oracle公司收购。MySQL是一种免费使用的数据库,它的名字来源于创始人们的女儿名字My。MySQL以其易于使用、高性能和可靠性而受到广泛应用。作为关系型数据库管理系统,MySQL使用结构化查询语言(SQL)进行数据库的管理和操作。它在设计上遵循ACID(原子性、一致性、隔离性和持久性)原则,并采用表格形式存储数据。用户可以使用标准SQL命令来创建、修改、删除和查询数据库中的数据。

1.1 MySql的特点(大致7点)

  1. 开源和免费:开源软件,用户可以自由获取、使用和修改它,而且无需支付任何费用。这使得MySQL成为许多开发者和组织的首选数据库,特别是对于个人开发者和小型企业而言,可以降低成本和开发门槛。
  2. 高性能:具有优化的查询执行引擎和高效的存储引擎,可以快速处理大量的数据和高并发访问请求。它可以通过索引、查询缓存、查询优化等技术来提高查询性能。
  3. 可靠性和稳定性:以数据的完整性和可靠性为重点,支持数据备份和恢复功能,可以保护数据的安全,并提供高可用性的系统架构。它也具有事务处理的支持,确保数据操作的原子性,保持数据库的一致性。
  4. 可扩展性:支持水平和垂直两种方式的扩展。水平扩展可以通过分布式数据库集群来增加数据库的存储能力和处理能力。垂直扩展则可以通过增加服务器的硬件性能(如RAM、CPU)来提升MySQL的性能。
  5. 多平台支持:可以在多种操作系统上运行,包括Windows、Linux、macOS等,使得开发者可以根据自己的需求选择合适的平台进行部署。
  6. 简单易用:提供了简单而直观的命令和工具,使得用户可以方便地创建、管理和操作数据库。它的语法和功能相对较为简单,对于初学者来说容易上手。
  7. 庞大的社区和支持:拥有庞大的用户社区和开源开发者社区,提供了大量的文档、教程、插件和解决方案供用户参考和使用。用户可以在社区中交流经验、寻求帮助,并获得及时的技术支持。

二,MySql的存储引擎

2.1 InnoDB:

    是MySQL的默认存储引擎,也是最常用的存储引擎之一。它支持事务处理(ACID兼容)、外键约束崩溃恢复行级锁定(这一点说明锁的粒度小,在写数据时,不需要锁住整个表,因此适用于高并发情形)及外键支持(所有数据库引擎中独一份,仅有它支持外键)该引擎的设计目标便是处理大容量数据的数据库系统,MySQL在运行时InnoDB会在内存中建立缓冲池,用于缓存数据及索引。

 2.2 ACID事务:

2.2.1原子性(Atomicity):

 事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行。

2.2.2一致性(Consistency):

     在事务开始之前和完成之后,数据都必须保持一致状态,必须保证数据库的完整性。也就是说,数据必须符合数据库的规则。

2.2.3隔离性(Isolation):

       一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

2.2.4持久性(Durability):

    持久性也成为永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久的。

三,MySql授权

注意:在MySql5.7版本与MySql8.0版本语法大部分语句都不是同样的,要注意版本区分

3.1 查看用户:

select * from user

3.2创建用户:

在MySql8.0版本,在创建用户时候赋予密码,如下语句,创建一个lingdao用户密码为123456,

语句:

create user lingdao;
ALTER USER 'lingdao'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

3.3 给用户赋予权限:

给lingdao赋予mybatis_ssm所有权限,lingdao可以在mybatis_ssm中建立表等数据

语句:

grant ALL on mybatis_ssm.* to lingdao@'%';

3.4撤销用户权限

撤销lingdao用户下的mybatis_ssm数据库

语句:

revoke all on mybatis_ssm.* from lingdao@'%';

3.5 删除用户

删除用户名为lingdao的用户

语句:

drop user lingdao

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
81 0
|
22天前
|
存储 SQL 关系型数据库
MySQL存储引擎
本文介绍了数据库优化的多个方面,包括选择合适的存储引擎、字段定义原则、避免使用外键和触发器、大文件存储策略、表拆分及字段冗余处理等。强调了从业务层面进行优化的重要性,如通过活动设计减少外部接口调用,以及在高并发场景下的流量控制与预处理措施。文章还提供了具体的SQL优化技巧和表结构优化建议,旨在提高数据库性能和可维护性。
MySQL存储引擎
|
7天前
|
存储 缓存 关系型数据库
【赵渝强老师】MySQL的MyISAM存储引擎
在MySQL5.1版本之前,默认存储引擎为MyISAM。MyISAM管理非事务表,提供高速存储和检索,支持全文搜索。其特点包括不支持事务、表级锁定、读写互阻、仅缓存索引等。适用于读多、写少且对一致性要求不高的场景。示例代码展示了MyISAM存储引擎的基本操作。
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的InnoDB存储引擎
InnoDB是MySQL的默认存储引擎,广泛应用于互联网公司。它支持事务、行级锁、外键和高效处理大量数据。InnoDB的主要特性包括解决不可重复读和幻读问题、高并发度、B+树索引等。其存储结构分为逻辑和物理两部分,内存结构类似Oracle的SGA和PGA,线程结构包括主线程、I/O线程和其他辅助线程。
【赵渝强老师】MySQL的InnoDB存储引擎
|
30天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
108 4
|
7天前
|
存储 关系型数据库 MySQL
【赵渝强老师】MySQL的Memory存储引擎
MySQL 的存储引擎层负责数据的存储和提取,支持多种存储引擎,如 InnoDB、MyISAM 和 Memory。InnoDB 是最常用的存储引擎,从 MySQL 5.5.5 版本起成为默认引擎。Memory 存储引擎的数据仅存在于内存中,重启后数据会丢失。示例中创建了使用 Memory 引擎的 test3 表,并展示了数据在重启后消失的过程。
|
1月前
|
存储 SQL 缓存
MySQL存储引擎如何完成一条更新语句的执行!
MySQL存储引擎如何完成一条更新语句的执行!
MySQL存储引擎如何完成一条更新语句的执行!
|
2月前
|
存储 缓存 关系型数据库
MySQL高级篇——存储引擎和索引
MyISAM:不支持外键和事务,表锁不适合高并发,只缓存索引,内存要求低,查询快MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁、外键,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。5.5之前默认的存储引擎优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用针对数据统计有额外的常数存储。故而 count(*) 的查询效率很高表名.frm 存储表结构;表名.MYD 存储数据 (MYData);
MySQL高级篇——存储引擎和索引
|
1月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
42 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学