MySQL(安装和卸载、数据库存储原理图)

一、MySQL的安装和卸载

1.安装 MySQL(压缩版)

(1)解压文件到指定目录下(路径不能出现中文),在安装目录中创建 data 文件夹和配置文件 my.ini。

(2)配置文件 my.ini

mysqld

skip_grant_tables

设置3306端口

port=3306

设置mysql的安装目录

basedir=D:\\MySQL\\mysql-8.0.26-winx64

设置mysql数据库的数据的存放目录

datadir=D:\\MySQL\\mysql-8.0.26-winx64\\data

允许最大连接数

max_connections=200

允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

服务端使用的字符集默认为UTF8

character-set-server=utf8mb4

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

默认使用"mysql_native_password"插件认证

default_authentication_plugin=mysql_native_password

client

#password = your_password

设置mysql客户端连接服务端时默认使用的端口

port=3306
default-character-set=utf8mb4

mysql

设置mysql客户端默认字符集

default-character-set=utf8mb4

(3)配置环境变量

粘贴 mysql 安装目录下的 bin 目录

(4)以管理员身份运行 cmd

mysqld --initialize --console :记录第一次初始化的密码(2Zf!8S-HZzUp)

mysqld --install mysql服务名 :安装 mysql 服务

sc delete mysql服务名:删除 mysql 服务

mysql -uroot -p:登录 mysql,

alter user root@localhost identified by "密码":修改临时密码为自己的密码。

然后用修改后的密码重新登录 mysql,登录进去便成功。

2.卸载 MySQL

(1)关闭 MySQL 服务

以管理员身份运行 cmd,输入 net stop mysql ,关闭 MySQL服务。

(2)删除 MySQL 服务

输入 sc delete mysql,删除MySQL 服务。

(3)卸载、删除

win+R 输入 control 打开控制面板,点击卸载程序,选择与 MySQL 相关的程序全部卸载。然后找到安装目录,删除文件夹(若安装在 C 盘会有隐藏文件,还需打开 ProgramFiles 和 ProgramData,找到所有与 MySQL 相关的子目录删除)。

(4)删除注册表

win+R 输入 regedit 打开注册表,找到以下文件夹删除:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL

二、数据库存储原理图

1.连接层

客户端与服务端通过通信协议传输 SQL 语句,提供与 MySQL 服务器建立连接的支持。目前几乎支持所有主流的服务端编程技术,例如常见的 Java、C、Python、.NET 等,它们通过各自 API 技术与 MySQL 建立连接。

2.MySQL 服务层

(1)查询缓存:接收 SQL 后,先检查是否有 "命中规则" 的缓存结果。若有,直接返回执行结果,避免后续解析、优化等耗时操作,提升查询效率。

(2)若没有找到对应的查询结果,则需进行查询解析、优化等过程,再返回执行结果。

① 解析器:若查询缓存未命中,解析器会解析 SQL 的语法规则,确保 SQL 语句格式合法、关键词正确。

② 优化器:基于解析后的 SQL,生成最优执行计划(如选择合适的索引、确定表的连接顺序),以最高效的方式执行查询。

③ 执行器:根据优化器的计划,操作存储引擎(如 InnoDB、MyISAM)执行具体逻辑,最终返回值结果。

3.存储引擎层

存储引擎负责在 MySQL 中存储数据、提取数据,服务器通过 API 和存储引擎进行通信,API 屏蔽了不同存储引擎之间的差异 。现在有很多种存储引擎,各有各的特点,最常见的是 InnoDB 和 MyISAM。

MyISAM 和 InnoDB 的区别?

  1. 事务:MyISAM不支持事务
  2. 存储文件:innodb(frm、ibd MyISAM: frm、MYD、MYI
  3. 数据行锁定:MyISAM 不支持
  4. 全文索引:INNODB 不支持,所以 MyISAM 做 select 操作速度快
  5. 外键约束:MyISAM 不支持

两种引擎的优缺点:

InnoDB

  • 可靠性更强,或者业务需求要求使用事务时,使用 InnoDB
  • 表更新和查询相当频繁,并且表锁定的情况比较大,默认使用 InnoDB
  • 需要大量的修改和插入时,使用 InnoDB

MyISAM

  • 做很多的数据计算时,mysql 的底层系统库就是 MyISAM
  • 修改和插入不频繁时,执行大量的select查询,MyISAM 比 InnoDB 更适合
  • 不支持事务(缺点)

三、练习

根据以下需求完成图书管理系统数据库及表设计,并建库建表,截图创建表的详细信息(desc 表名),不用添加数据

  1. 用户表:字段: 姓名,用户名,密码,电话,住址,专业及年级
  2. 图书表:字段: 图书名,分类,介绍,出版社,入库时间
  3. 借阅登记表:借阅人、图书名、借阅时间、是否归还

首先在 cmd 登录 mysql,再创建并使用 library 数据库。

1.用户表

2.图书表

3.借阅登记表

相关推荐
lisanmengmeng5 分钟前
添加ceph节点
linux·服务器·ceph
Tinyundg9 分钟前
Linux系统分区
linux·运维·服务器
要做一个小太阳12 分钟前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
江畔何人初16 分钟前
service发现
linux·运维·云原生
life码农22 分钟前
Linux系统清空文件内容的几种方法
linux·运维·chrome
zbguolei27 分钟前
虚拟机安装Ubuntu后无法登录
linux·运维·ubuntu
UP_Continue30 分钟前
Linux--基础IO
linux·运维·服务器
驱动探索者35 分钟前
linux hwspinlock 学习
linux·运维·学习
FJW02081435 分钟前
使用HAProxy实现动静分离
linux·服务器
头发还没掉光光35 分钟前
Linux 高级 IO 深度解析:从 IO 本质到 epoll全面讲解
linux·服务器·c语言·c++