mysql下载安装配置以及多版本

mysql下载安装配置以及多版本

1.下载

https://downloads.mysql.com/archives/community/

点击链接

选择Product Version(产品版本),操作系统(Operating System)和OS Version(操作系统版本)

点击ZIP Archive行末的Download下载压缩包版本即可,MSI Installer是安装包版本(一般有压缩包就用压缩包即可)。

我选择的是5.7.448.4.2两个版本,更多版本或其他版本原理一样,请自行测试。

2.安装

E盘新建文件夹mysql,把两个压缩包拷贝到E:/mysql目录下,

解压到当前文件夹,删除两个压缩包。

如果是安装包版本,请自行安装到同一目录下,方便管理。

3.配置

配置5.7.44版本

进入E:\mysql\mysql-5.7.44-winx64目录,新建data空文件夹和my.ini配置文件

编辑my.ini文件,设置mysql安装目录和mysql数据库数据的存放目录

[mysqld]
# 端口
port = 3306 
# mysql安装目录
basedir=E:\\mysql\\mysql-5.7.44-winx64
# mysql数据库数据的存放目录
datadir=E:\\mysql\\mysql-5.7.44-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 传统的基于密码的认证
default_authentication_plugin=mysql_native_password
# 启用后可以绕过权限验证,一般用于重置密码时临时开启
# skip_grant_tables

[mysql]
# mysql客户端默认字符集
default-character-set=utf8mb4

[client]
# mysql客户端连接服务端时默认使用的端口
port=3306
# 客户端与服务器之间通信使用的字符编码
default-character-set=utf8mb4

拷贝bin目录地址E:\mysql\mysql-5.7.44-winx64\bin,添加到系统环境变量中

以管理员身份打开CMD或者Windows PowerShell,切换到安装目录的bin目录下执行(以下所有命令都用管理员身份一条条执行)

# 切换到E盘
E: 
# 切换到bin目录
cd E:\mysql\mysql-5.7.44-winx64\bin 
# 初始化
mysqld --defaults-file=E:\mysql\mysql-5.7.44-winx64\my.ini --initialize --console 
# 初始化后复制生成的root密码
# A temporary password is generated for root@localhost: 1IQXBjJMMD#j
# 使用以下命令为mysql-5.7.44创建服务
sc create MySQL5744 binPath= "E:\mysql\mysql-5.7.44-winx64\bin\mysqld --defaults-file=E:\mysql\mysql-5.7.44-winx64\my.ini MySQL5744" start= auto 
# 启动服务
net start MYSQL5744
# 指定端口登录,然后输入拷贝的密码 1IQXBjJMMD#j
mysql -u root -p -P3306
# 查看端口号是否为设置的
show global variables like 'port';
# 修改新密码,两条命令试一下哪个能用用哪个
UPDATE mysql.user SET authentication_string=PASSWORD('123456')WHERE user='root';
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
# 刷新
flush privileges;
# 退出mysql登录
exit
# 登录验证新密码
mysql -u root -p -P3306
# 退出
exit
# 关闭服务
net stop MYSQL5744

配置8.4.2版本

进入E:\mysql\mysql-8.4.2-winx64目录,新建data空文件夹和my.ini配置文件

编辑my.ini文件,设置mysql安装目录和mysql数据库数据的存放目录

[mysqld]
# 端口
port = 3307 
# mysql安装目录
basedir=E:\\mysql\\mysql-8.4.2-winx64
# mysql数据库数据的存放目录
datadir=E:\\mysql\\mysql-8.4.2-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 传统的基于密码的认证,会报错(从 MySQL 8.0 开始,默认的认证插件是 caching_sha2_password,而不是 mysql_native_password。如果您想使用 mysql_native_password 作为认证插件,您需要在用户创建时显式指定,而不是在服务器启动时通过配置文件设置。)
# default_authentication_plugin=mysql_native_password
# 启用后可以绕过权限验证,一般用于重置密码时临时开启
# skip_grant_tables

[mysql]
# mysql客户端默认字符集
default-character-set=utf8mb4

[client]
# mysql客户端连接服务端时默认使用的端口
port=3307
# 客户端与服务器之间通信使用的字符编码
default-character-set=utf8mb4

拷贝bin目录地址E:\mysql\mysql-8.4.2-winx64\bin,添加到系统环境变量中

以管理员身份打开CMD或者Windows PowerShell,切换到安装目录的bin目录下执行(以下所有命令都用管理员身份一条条执行)

# 切换到E盘
E: 
# 切换到bin目录
cd E:\mysql\mysql-8.4.2-winx64\bin
# 初始化
mysqld --defaults-file=E:\mysql\mysql-8.4.2-winx64\my.ini --initialize --console 
# 初始化后复制生成的root密码
# A temporary password is generated for root@localhost: 8R=aMdUtSj#u
# 使用以下命令为mysql-8.4.2-winx64创建服务
sc create MySQL842 binPath= "E:\mysql\mysql-8.4.2-winx64\bin\mysqld --defaults-file=E:\mysql\mysql-8.4.2-winx64\my.ini MySQL842" start= auto 
# 启动服务
net start MYSQL842
# 使用传统的基于密码的认证
CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
# 指定端口登录,然后输入拷贝的密码 8R=aMdUtSj#u
mysql -u root -p -P3307
# 查看端口号是否为设置的
show global variables like 'port';
# 修改新密码,两条命令试一下哪个能用用哪个
UPDATE mysql.user SET authentication_string=PASSWORD('123456')WHERE user='root';
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
# 刷新
flush privileges;
# 退出mysql登录
exit
# 登录验证新密码
mysql -u root -p -P3307
# 退出
exit
# 关闭服务
net stop MYSQL842

4.多版本

服务启动关闭,以管理员身份打开CMD或者Windows PowerShell

# 端口设置不冲突就可以同时启动或关闭,互不影响。
net start MYSQL842
net start MYSQL5744 
net stop MYSQL842
net stop MYSQL5744

注意:

不同版本存在差异,配置文件和命令可能有区别,请自行测试。

服务命名随意,建议按照我的思路取去掉小数点的数字即可。

若安装的版本可能很多,那么端口可以设置为和服务名一致,也可以取4位不足补0,即可避免端口重复

参考文献

https://www.jb51.net/article/159413.htm
https://blog.51cto.com/u_16175436/11628427
https://blog.csdn.net/MissRen920/article/details/120061906
https://blog.csdn.net/s_156/article/details/135715769
posted @   不要划水  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示