MySQL初识-架构-安装-初始化-连接-管理工具-数据文件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

MySQL架构和结构分析

官方架构图

wKioL1NLJNiRnPzbAAn45ZsJsuY067.jpg

内部组件结构图

wKiom1NLJSDxkZwaAALzdV2IEfA203.jpg

MySQL安装方式

wKioL1NLJRjSdsIXAAfglSdvzi8965.jpg


MySQL初始化

wKiom1NLJV2zwKazAAsmeOpZnBI736.jpg


MySQL工作模式及常用命令

交互式模式:mysql>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 交互式模式下的客户端命令
    mysql> help  # 获取命令帮助
    mysql> \?  # 同上
    mysql> \c  # 取消命令执行
    mysql> \g  # 发送命令至服务器端
    mysql> \G  # 发送命令至服务器端,垂直显示结果
    mysql> \q  # 退出
    mysql> \!  # 执行系统shell命令
    mysql> \s  # 显示服务器端状态信息
    mysql> \.  /path/to/mysql_script .sql  # 批量执行sql
    mysql> \u  # 切换数据库
# 交互式模式下的服务器端命令(需要命令提示符,默认为分号)
    mysql> help contents 能够获取帮助的分类信息
    mysql> help keyword 获取关键字的帮助信息,如help  select

脚本模式:mysql < /path/to/mysql_script.sql

注:常用于主从复制批量导入数据时


连接MySQL

连接类型

本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信

   基于sock文件通信:如mysql -hlocalhost -uroot -p --socket=/tmp/mysql.sock

远程通信:客户端与服务器端位于不同的主机,或在同一主机使用非回环地址通信

   基于 TCP socket通信

mysql客户端选项

实例

1
2
3
4
5
6
7
8
9
10
11
12
-u,--user  # 指定连接用户
-h,--host  # 指定连接主机
-p,--password  # 指定连接密码
--protocol={tcp|socket|memory|pipe}  # 指定连接协议
-P,--port  # 指定连接端口,默认监听端口:tcp/3306
--socket  # 指定本地连接的sock文件
--compress  # 数据传输采用压缩格式
-D,--database  # 指定连接后默认使用的数据库
-H,--html  # 指定产生html输出
-X,--xml  # 指定产生xml输出
--safe-updates  # 拒绝使用无where子句的update或delete命令
# 使用实例:mysql -hlocalhost -uroot -p

mysql命令提示符

1
2
3
4
5
6
mysql>  # 等待输入命令
->  # 等待继续输入
‘>  # 等待结束单引号
“>  # 等待结束双引号
`>  # 等待结束反引号
/*>  # 注释,不执行,需以*/结束注释

mysql的快捷键

1
2
3
4
5
ctrl+w: # 删除光标之前的单词
ctrl+u: # 删除光标之前至命令行首的所有内容
ctrl+y: # 粘贴所有ctrl+w或ctrl+u删除的内容
ctrl+a: # 移动光标至行首
ctrl+e: # 移动光标至行尾


MySQL管理工具mysqladmin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 使用格式:mysqladmin [options] command [arg] [,command [arg]] …
# 常用的command包括:
create DB_Name: # 创建数据库
drop DB_Name: # 删除数据库
debug: # 打开调试日志并记录于error log中
status: # 显示简要状态信息
-- sleep  #:设置间隔时长
--count  #:设置显示的批次
extended-status: # 显示扩展信息,输出mysqld的各状态变量及赋值,相当于执行“mysql> show global status”
variables: # 输出mysqld的各服务器变量
flush-hosts: # 清空主机相关的缓存:DNS解析缓存;此前因为连接错误次数过多而被拒绝访问mysqld的主机列表
flush-logs: # 日志滚动,只能滚动二进制日志和中继日志
refresh: # 相当于同时使用flush-hosts和flush-logs
flush-privileges: # 通知mysqld重读授权表
reload: # 功能同“flush-privileges”
flush-status: # 重置状态变量的值
flush-tables: # 关闭当前打开的表文件句柄
flush-threads: # 清空线程缓存
kill # 杀死指定的线程,需指定线程ID;可以一次杀死多个线程,以逗号分隔,但不能有多余空格
password: # 修改当前用户的密码
ping # 模拟ping操作,检测mysqld是否在线
processlist: # 显示mysqld线程列表
shutdown # 关闭mysqld进程
start-slave,stop-slave: # 启动/关闭从服务器线程


MySQL数据文件解析

MyISAM表:每表有3个文件,都位于数据库目录中

1
2
3
tb_name.frm: # 表结构定义文件
tb_name.MYD: # 数据文件
tb_name.MYI: # 索引文件

InnoDB表:有2种存储方式

默认方式:每表有1个独立文件和一个多表共享的文件

1
2
tb_name.frm: # 表结构定义文件,位于数据库目录中
ibdata #:# 共享的表空间文件,默认位于数据目录(datadir指向的目录)中,如ibdata1

自定义方式:独立的表空间

1
2
3
4
5
6
tb_name.frm: #表结构定义文件
tb_name.ibd: # 独有的表空间文件
# 在MySQL初始化中打开独立表空间功能的方法:
vi  /etc/my .cnf (在[mysqld]段下添加)
innodb_file_per_table = ON
# 注:表空间:table space,是由InnoDB管理的特有格式的数据文件,内部可同时存储数据和索引









本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1395061,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
176 42
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
36 3
MySQL原理简介—2.InnoDB架构原理和执行流程
本文介绍了MySQL中更新语句的执行流程及其背后的机制,主要包括: 1. **更新语句的执行流程**:从SQL解析到执行器调用InnoDB存储引擎接口。 2. **Buffer Pool缓冲池**:缓存磁盘数据,减少磁盘I/O。 3. **Undo日志**:记录更新前的数据,支持事务回滚。 4. **Redo日志**:确保事务持久性,防止宕机导致的数据丢失。 5. **Binlog日志**:记录逻辑操作,用于数据恢复和主从复制。 6. **事务提交机制**:包括redo日志和binlog日志的刷盘策略,确保数据一致性。 7. **后台IO线程**:将内存中的脏数据异步刷入磁盘。
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
283 16
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
145 14
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
155 7
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
378 9
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
94 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等