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.借阅登记表

相关推荐
starvapour15 小时前
Ubuntu的桌面级程序开机自启动
linux·ubuntu
哇哈哈&16 小时前
gcc9.2的离线安装,支持gcc++19及以上版本
linux·运维·服务器
一条咸鱼¥¥¥16 小时前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
【上下求索】16 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
脸红ฅฅ*的思春期16 小时前
免杀对抗—WinDbg查看Windows内存
windows·windbg·windows内核·windows内存查看
___波子 Pro Max.17 小时前
Linux快速查看文件末尾字节方法
linux
Caster_Z18 小时前
WinServer安装VM虚拟机运行Linux-(失败,云服务器不支持虚拟化)
linux·运维·服务器
小小测试开发18 小时前
提升WebUI自动化效率与性能:从脚本到架构的全链路优化指南
运维·架构·自动化
少废话h19 小时前
Redis主从与集群搭建全指南
大数据·linux·redis·mysql
The star"'19 小时前
mysql(1-3)
运维·mysql·云计算