一、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=utf8mb4mysql
设置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 的区别?
- 事务:MyISAM不支持事务
- 存储文件:innodb(frm、ibd MyISAM: frm、MYD、MYI
- 数据行锁定:MyISAM 不支持
- 全文索引:INNODB 不支持,所以 MyISAM 做 select 操作速度快
- 外键约束:MyISAM 不支持
两种引擎的优缺点:
InnoDB
- 可靠性更强,或者业务需求要求使用事务时,使用 InnoDB
- 表更新和查询相当频繁,并且表锁定的情况比较大,默认使用 InnoDB
- 需要大量的修改和插入时,使用 InnoDB
MyISAM
- 做很多的数据计算时,mysql 的底层系统库就是 MyISAM
- 修改和插入不频繁时,执行大量的select查询,MyISAM 比 InnoDB 更适合
- 不支持事务(缺点)
三、练习
根据以下需求完成图书管理系统数据库及表设计,并建库建表,截图创建表的详细信息(desc 表名),不用添加数据
- 用户表:字段: 姓名,用户名,密码,电话,住址,专业及年级
- 图书表:字段: 图书名,分类,介绍,出版社,入库时间
- 借阅登记表:借阅人、图书名、借阅时间、是否归还
首先在 cmd 登录 mysql,再创建并使用 library 数据库。



1.用户表


2.图书表


3.借阅登记表

