mysql下载安装配置以及多版本
mysql下载安装配置以及多版本
1.下载
https://downloads.mysql.com/archives/community/
点击链接
选择Product Version(产品版本),操作系统(Operating System)和OS Version(操作系统版本)
点击ZIP Archive行末的Download下载压缩包版本即可,MSI Installer是安装包版本(一般有压缩包就用压缩包即可)。
我选择的是5.7.44和8.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
本文来自博客园,作者:不要划水,转载请注明原文链接:https://www.cnblogs.com/shui-notes/p/18637934
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通