第1章 认识MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 第1章 认识MySQL

1.1 MySQL的客户端/服务器架构

以微信为例,该应用由两部分组成,一部分是客户端程序,一部分是服务器程序。客户端可能有很多种形式,比如手机APP,电脑软件或者是网页版微信,每个客户端都有一个唯一的用户名,就是你的微信号,另一方面,腾讯公司在他们的机房里运行着一个服务器软件,我们平时操作微信其实都是用客户端来和这个服务器来打交道。


发送消息过程是这样的:


1.消息被客户端包装,添加了发送者和接受者信息,然后从微信客户端传递到微信服务器。


2.微信服务器从消息里获取到它的发送者和接受者,根据消息的接收者信息把这条信息送到另一个人的微信客户端。


MySQL是一样的,服务器程序是直接和存储的数据打交道,然后可以有好多客户端程序连接到这个服务器程序,发送增删改查的请求,然后服务器就响应这些请求,从而操作它维护的数据。


日常使用MySQL的情景是这样的:


1. 启动 MySQL 服务器程序。


2. 启动 MySQL 客户端程序并连接到服务器程序。


3. 在客户端程序中输入一些命令语句作为请求发送到服务器程序,服务器程序收到这些请求后,会根据请求的内容来操作具体的数据并向客户端返回操作结果。


计算机上可以运行很多程序,每一个运行着的程序叫一个进程。我们的 MySQL 服务器程序和客户端程序本质上都算是计算机上的一个 进程 ,这个代表着 MySQL 服务器程序的进程也被称为 MySQL数据库实例 ,简称 数据库实例 。


每个进程都有一个唯一的编号,称为 进程ID ,英文名叫 PID ,这个编号是在我们启动程序的时候由操作系统随机分配的,操作系统会保证在某一时刻同一台机器上的进程号不重复。比如你打开了计算机中的QQ程序,那么操作系统会为它分配一个唯一的进程号,如果你把这个程序关掉了,那操作系统就会把这个进程号回收,之后可能会重新分配给别的进程。当我们下一次再启动 QQ程序的时候分配的就可能是另一个编号。每个进程都有一个名称,这个名称是编写程序的人自己定义的,比如我们启动的 MySQL 服务器进程的默认名称为 mysqld , 而我们常用的 MySQL 客户端进程的默认名称为 mysql 。

1.2 MySQL安装

1.2.1 bin目录下的可执行文件

在 MySQL 的安装目录下有一个特别特别重要的 bin 目录,这个目录下存放着许多可执行文件。Windows 中的可执行文件都是以 .exe 为扩展名的。这些可执行文件都是与服务器程序和客户端程序相关的。


使用可执行文件的相对/绝对路径 假设我们现在所处的工作目录是 MySQL 的安装目录,也就是 /usr/local/mysql ,我们想启动 bin 目录下的 mysqld 这个可执行文件,可以使用相对路径来启动:


./bin/mysqld


或者直接输入 mysqld 的绝对路径也可以: /usr/local/mysql/bin/mysqld


将该 bin 目录的路径加入到环境变量 PATH 中


如果我们觉得每次执行一个文件都要输入一串长长的路径名贼麻烦的话,可以把该 bin 目录所在的路径添加到环境变量 PATH 中。环境变量 PATH 是一系列路径的集合,各个路径之间使用冒号 : 隔离开。

1.3 启动MySQL服务

1.3.1 UNIX里启动服务器程序器程序

在类 UNIX 系统中用来启动 MySQL 服务器程序的可执行文件有很多,大多在 MySQL 安装目录的 bin 目录下。

1.3.1.1 mysqldmysqld

这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。

1.3.1.2 mysqld_safemysqld_safe

是一个启动脚本,它会间接的调用 mysqld ,而且还顺便启动了另外一个监控进程,这个监控进程在服务器进程挂了的时候,可以帮助重启它。另外,使用 mysqld_safe 启动服务器程序时,它会将服务器程序的出错信息和其他诊断信息重定向到某个文件中,产生出错日志,这样可以方便我们找出发生错误的原因。

1.3.1.3 mysql.server

mysql.server 也是一个启动脚本,它会间接的调用 mysqld_safe ,在调用 mysql.server 时在后边指定 start参数就可以启动服务器程序了,就像这样:

mysql.server start

需要注意的是,这个 mysql.server 文件其实是一个链接文件,它的实际文件是 ../support-files/mysql.server。

另外,我们还可以使用 mysql.server 命令来关闭正在运行的服务器程序,只要把 start 参数换成 stop 就好了:

mysql.server stop

1.3.1.4 mysqld_multi

其实我们一台计算机上也可以运行多个服务器实例,也就是运行多个 MySQL 服务器进程。 mysql_multi 可执行文件可以对每一个服务器进程的启动或停止进行监控。

1.3.2 Windows里启动服务器程序

1.3.2.1 mysqld

在 MySQL 安装目录下的 bin 目录下有一个 mysqld 可执行文件,在命令行里输入 mysqld ,或者直接双击运行它就算启动了 MySQL 服务器程序了。

1.3.2.2 以服务的方式运行服务器程序

把某个程序注册为 Windows 服务,如下:

"完整的可执行文件路径" --install [-manual] [服务名]

其中的 -manual 可以省略,加上它的话表示在 Windows 系统启动的时候不自动启动该服务,否则会自动启动。服务名也可以省略,默认的服务名就是 MySQL 。

在把 mysqld 注册为 Windows 服务之后,我们就可以通过下边这个命令来启动 MySQL 服务器程序了:

net start MySQL

关闭就是把start换成stop。

net stop MySQL
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
MySQL
MySQL
28 1
|
6月前
MySql45道练习
MySql45道练习
83 0
|
SQL 存储 缓存
|
SQL 关系型数据库 MySQL
MySQL(八)
MySQL(八),一起来学习吧。
MySQL(八)
|
JSON 算法 关系型数据库
MySQL 8.0.32如期而至
MySQL 8.0版本计划 MySQL 8.0开始采用快速迭代开发模式,基本上是每隔3个月就发布一个新的小版本。去年1月18日(2022.1.18)发布MySQL 8.0.28,今年1月17日发布MySQL 8.0.32,再看看其他几个版本的时间,还真是贼守时啊。
365 0
|
关系型数据库 MySQL 数据库
MySQL练习(一)
简要MySQL练习
154 0
MySQL练习(一)
|
存储 关系型数据库 MySQL
MySQL练习(二)
MySQL存储过程运用
79 0
MySQL练习(二)
|
SQL 关系型数据库 MySQL
Mysql 系列 一 explan
explan在数据库中的作用以及字段详解
|
SQL JSON Oracle
MySQL 8.0来了,逆之者亡...
MySQL 8.0来了,逆之者亡...
393 0
MySQL 8.0来了,逆之者亡...
|
存储 SQL 关系型数据库
MYSQL
MYSQL
165 0
MYSQL
下一篇
无影云桌面