MySQL基础(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL基础

一、数据库概念

数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内、有组织的、可共享的、统一管理的大量数据的集合


虽然单纯的使用文件也可以存储数据,但会存在如下缺点:


安全性问题:数据误操作后无法进行回滚

不利于数据的查询和管理:没有将存储的数据以某种数据结构组织起来

控制不方便:数据的控制需要用户自行完成

不利于存储海量数据:数据量越大用户操控数据的成本越高

为了解决上述问题,于是专家们设计出了更利于管理数据的数据库


客户端 && 服务器


数据库管理系统分为服务器和客户端,以MySQL为例,使用MySQL时会先通过 mysql命令 连接MySQL服务器

ab8cf7e7a4b74d05971cb2e4989076e6.png



mysql命令就是MySQL客户端,而MySQL服务器可以通过 ps命令 进行查看


96d2b9ef343041c69326b9d5f63842b5.png


查看到的mysqld就是MySQL服务器,使用mysql命令实际就是在连接mysqld服务。通过netstat命令可以看到,MySQL服务器底层采用的是TCP6协议,目前服务器处于监听状态


822369497ebe4eb4b26a09765d56d91d.png


MySQL本质是一套网络服务,使用mysql命令连接MySQL服务器时,本质就是MySQL客户端在向MySQL服务器发起连接请求,连接建立成功后MySQL客户端就会将用户输入的SQL语句发送给MySQL服务器,之后MySQL服务器就会根据SQL语句进行对应的操作


数据库存储介质


磁盘,如MySQL就是一种磁盘数据库

内存,如redis就是一种内存数据库

说明一下:


数据库按存储介质可以分为磁盘数据库和内存数据库,其中内存数据库又称为主存数据库(Main Memory Database)

磁盘数据库的数据主要存储在磁盘上,因此磁盘数据库在数据的持久化保存上有明显优势。但磁盘数据库为了提高数据的存储效率,也有对应的缓存机制,因此在某一个时刻之内,不一定所有数据都会落盘

内存数据库的数据主要存储在内存中,与磁盘数据库相比,内存数据库可以大大提高读取速度,减少数据库的访问时间。但内存数据库并非完全不使用磁盘,数据库的启动信息、初始数据等还是需要存储在磁盘上的,只是数据主要在内存中进行存储和运算

由于内存数据库的数据存储在内存中,数据库主机掉电后数据就会丢失,因此在数据库服务关闭前通常需要把内存中的数据转储到磁盘上,甚至在内存数据库运行期间,一些数据也会持久化到磁盘存储

二、主流数据库

SQL Server:微软的产品,.Net程序员的最爱,适合中大型项目

MySQL:甲骨文产品,世界上最受欢迎的数据库,并发性好,但不适合做复杂的业务。主要用在电商、SNS、论坛,对简单SQL处理效果好

Oracle:甲骨文产品,适合大型项目和复杂的业务逻辑,但并发一般来说不如MySQL

PostgreSql:加州大学伯利克分校计算机系开发的关系型数据库,无论私用,商用,还是学术研究,都可以免费使用、修改和分发

SQLite:一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用,占用资源非常低,在嵌入式设备中,可能只需要几百K的内存即可

H2:用Java开发的嵌入式数据库,本身只是一个类库,可以直接嵌入到应用项目中

三、基本使用

3.1 连接服务器

219d12a2560d488f9ca86bf37bfa0a70.png


-h: 表示要连接的MySQL服务器所在的主机,127.0.0.1表示本主机,连接本机时该选项可忽略

-P: 表示要连接的MySQL服务器所对应的端口号,一般默认是3306

-u: 表示用哪一个用户连接MySQL服务器,root表示超级用户

-p: 表示该用户对应的密码,密码可直接跟在-p后,也可回车后输入

连接到MySQL服务器后,就可输入各种SQL语句让服务器执行,当要退出mysql时输入 quit 、exit或 \q 即可


f7c7b7feace34980ad1c7880232ad184.png


3.2 服务器管理

停止服务器


通过 systemctl stop mysqld 命令或 service mysqld stop 命令可以停止MySQL服务器

5cce73915eae408a897d404408cc1e13.png



启动服务器


通过 systemctl start mysqld 命令或 service mysqld start 命令可以启动MySQL服务器


067553a0324f42f799f74ce5c1070286.png


重启服务器


通过 systemctl restart mysqld 命令或 service mysqld restart 命令可以重启MySQL服务器


8023d71dbf2c4cda90fcafba3e0cda41.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
11月前
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
304 12
|
11月前
|
存储 缓存 运维
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。
|
监控 数据可视化 Java
深入探索:自制Agent监控API接口耗时
在微服务架构中,监控API接口的调用耗时对于性能优化至关重要。通过监控这些指标,我们可以识别瓶颈,优化系统性能。本文将分享如何自己动手实现一个Agent来统计API接口的调用耗时,提供一种有效的监控解决方案。
329 2
|
11月前
|
人工智能 数据可视化 Java
通义灵码 AI 盲盒
基于通义灵码的 @workspace 和 @terminal 功能,可显著提升开发效率和体验。@workspace 通过文件导航、代码结构可视化、搜索和注释生成,帮助开发者快速熟悉项目结构和核心逻辑;@terminal 则支持代码片段运行、调试和 AI 代码补全,加速新需求实现和问题排查。这些工具降低了学习成本,简化了开发流程,提升了团队协作效率。
|
前端开发 JavaScript
一文详解React事件中this指向,面试必备
一文详解React事件中this指向,面试必备
241 0
ACE
|
SQL 分布式计算 数据处理
如何创建2024云栖Openlake测试项目和配置环境
2024年云栖大会,MaxCompute 多项重磅产品新功能邀测发布,新特性包括 支持OpenLake的湖仓一体2.0、Object Table支持SQL或MaxFrame处理非结构化数据、Delta Table增量表格式、基于增量物化视图的增量计算、MCQA2.0 SQL引擎查询加速等。其相关特性将在中国区 公共云 北京、上海、杭州、深圳Region 上线开放试用。本文以最佳实践的方式,帮助您创建MaxCompute和周边产品 在Openlake解决方案demo中需要准备的实例、项目和开发环境,并完成配置。欢迎您玩转云栖邀测demo,体验新功能。
ACE
1262 8
|
自然语言处理 IDE JavaScript
Fitten Code
【8月更文挑战第30天】
656 4
|
开发工具
Debain10上出现的问题,右上角网络图标显示问号
Debain10上出现的问题,右上角网络图标显示问号
|
前端开发 JavaScript Python
flask实战-模板实现公共导航
在Flask中实现模板继承,创建基础模板`base.html`,包含公共导航菜单。子模板`movie-extends.html`继承`base.html`,并定义主要内容。视图函数`movie_extends_view`渲染`movie-extends.html`,显示电影列表。通过`extra_css`和`extra_js`块添加页面特定的样式和脚本,实现在`movie-extends.html`中应用自定义CSS样式。运行应用,访问http://127.0.0.1:1027/movie-extends,页面显示定制的电影列表样式。
270 2
|
存储 NoSQL Java
【Redis】利用 Redis List 实现 Java 数据库分页快速查询
在大型应用中,数据库分页查询是日常开发中不可避免的需求之一。随着数据量的不断增加,传统的数据库分页方式可能会变得效率较低。为了解决这一问题,本文将介绍如何使用 Redis List 数据结构,结合 Java 编程语言,实现高效的数据库分页查询。
466 9