MySQL基础(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
关系型数据库 MySQL 数据库
mysql基础(2)
mysql基础(2)
28 1
|
2天前
|
SQL 存储 关系型数据库
MySql基础
MySql基础
36 0
|
5月前
|
SQL 存储 关系型数据库
MySQL基础2
MySQL基础
35 0
MySQL基础2
|
8月前
|
关系型数据库 MySQL 数据库
MySQL基础
MySQL基础
46 0
|
存储 SQL JSON
MySQL基础(二)中
MySQL基础(二)中
75 0
MySQL基础(二)中
|
SQL 安全 Oracle
MySQL基础(一)中
MySQL基础(一)中
135 0
|
SQL 存储 Oracle
|
存储 SQL 安全
|
存储 SQL 安全
|
关系型数据库 MySQL