本文最后更新于:2024-11-18T14:20:10+08:00
准备工作
首先去官方下载mysql.zip文件。
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html
安装
将下载好的zip文件进行解压,这里我的解压环境为D:\Program\
文件夹名称为mysql-5.7.35-winx64
。
以下是目录结构:
默认解压后没有data
文件夹,需要手动创建data
文件夹。
创建好后再创建一个叫my.ini
的文件,并在里面增加如下内容:
注意:这里的路径需要与自己设置的路径相匹配。
windows服务安装
接下来安装服务,在cmd中输入mysqld install [服务名]
安装服务。需要管理员权限
在5.7.6版本开始需要执行初始化mysqld --initialize
命令。
若已经执行了安装操作,可以使用mysqld -remove
删除之前安装的服务,再执行初始化操作。
安装完成后,今后启动就可使用net start [服务名]
指令去启动mysql了,例如:net start mysql
顺便一提,停止服务可使用net stop [服务名]
。
密码设置
首先要启动服务,输入mysqld --initialize --console
,注意输出数据中会存在类似这样一行的数据:
其中root@localhost:
后面的rI5rvf5x5G,E
就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
执行mysql -u root -p
回车然后输入密码,即可登录mysql
现在就可以通过密码更新的指令进行数据库密码修改了,完成后记得刷新缓存即可。
MySQL版本5.7.6版本以前用户可以使用如下命令:
MySQL版本5.7.6版本开始的用户可以使用如下命令:
环境变量设置
版本选择
在实际线上使用过程中发现,用同一个SQL查询相同的数据,返回的时间有很大的差异:
- 在
8.0.13
版数据库中查询:15.32 sec
- 在
8.0.32
版数据库中查询:0.04 sec
所以在选择数据库版本时,需要进行详细的调查,目前在本地使用8.0.32
版本较为高效,可参考使用该版本!
因存在拒绝服务漏洞,建议选择8.0.35
及以上版本进行安装!!!
Linux版安装脚本
所需环境:
拓展知识: Mysql通信协议
Mysql 通信协议主要有这几种:Unix套接字、内存共享、命名管道、TCP/IP套接字…
绝大部分情况下,我们使用的是TCP/IP套接字进行通信的,这种方式最通用,但也会带了通信方面的性能瓶颈。
若是本地通信,Windows建议使用内存共享,Unix/Linux建议使用Unix套接字
交互过程
其交互过程主要分为两个部分:握手认证和指令执行
这里用TCP/IP协议模式进行讲解:
三次握手建立 TCP 连接。
建立 MySQL 连接,也就是认证阶段。
服务端 -> 客户端:发送握手初始化包 (Handshake Initialization Packet)。
客户端 -> 服务端:发送验证包 (Client Authentication Packet)。
服务端 -> 客户端:认证结果消息。
认证通过之后,客户端开始与服务端之间交互,也就是命令执行阶段。
客户端 -> 服务端:发送命令包 (Command Packet)。
服务端 -> 客户端:发送回应包 (OK Packet, or Error Packet, or Result Set Packet)。
断开 MySQL 连接。
客户端 -> 服务器:发送退出命令包。
四次握手断开 TCP 连接。