目录

1.使用MySQL Installer安装MySQL实例

1.1.去官网下载MySQL Installer

1.2.停止mysql服务 

1.3.为不同的版本指定不同的安装目录

2.配置不同版本的选项文件

2.1.修改数据目录

2.2.修改基本目录

2.3.修改端口号

2.4.设置⽇志⽬录

2.5.配置临时目录

2.6.修改绑定地址

 2.7.检验是否配置成功

3.在多服务器环境中使用客户端程序

3.1.配置MySQL环境变量

3.2.连接


有时候我们希望在一台机器上运行多个MySQL实例,比如在开发环境测试新的MySQL版本,同时又要保证原有的版本不受影响;MySQL允许在一台机器上安装不同版本的发行版,比如同时运行5.7和8.0版本,只是要做一些相应的配置。

为了降低配置难度,本节将在Windows系统中使用安装器演示配置多个MySQL实例的方法。

  • 一个mysql服务对外提供服务需要端口号,所以两个mysql实例的端口号是不能相同的
  • 日志等其他自定义路径根据版本号区分
  • 千万不要让两个不同的服务同时修改同一个目录下的同一个文件 

1.使用MySQL Installer安装MySQL实例

1.1.去官网下载MySQL Installer

注意:我的电脑已经安装了mysql8.0

接下来我将下载不同版本的MySQL Installer,并完成安装,安装过程如下:

首先我们去官网:MySQL

 

1.2.停止mysql服务 

等待下载完成之后

我们先不要这么着急去安装,我们得先把原来的mysql8.0的服务给我停止掉,因为我们安装mysql5.7的时候它会自动启动去加载那些配置文件啥的。

所以为了防止冲突,所以我们需要停止本机正在运行的mysql服务。 

 我们点击停止按钮,一定要出现下面这个情况,才算是停止成功了啊!!

那么在Linux下,我们只需执行

systemctl stop mysql

 即可停止mysq服务

1.3.为不同的版本指定不同的安装目录

首先我们得知道我们机器上已经安装好的mysql8.0的安装路径是哪一个?

我们可以

 

这个D:\MySQL\MySQL Server 8.0\就是我们mysql8.0的安装路径。我们这次安装千万不要安装到这里来了。

接着我们打开我们刚刚下载的那个mysql5.7的安装包

接下来是至关重要的一步,指定安装路径

mysql官方其实很恶心,为了阻止我们更改安装路径煞费苦心。

  

这里就能更改我们的安装路径了,注意不能和原来那个mysql8.0的安装路径重复。

接着我们点击OK即可,然后点击next

我们点击next 

 点击Execute

点击next 

这里端口号不要再写3306了,必须改成别的。  

在这里我们输入我们的密码

 

 自启动一定要关闭啊!!!

 

直接next即可 

 点击Execute,等待完成,然后点击Finish

这个时候就安装完成了,我们去看看

看看它的安装路径是啥

没有问题,这个安装路径和mysql8.0区分开来了。

我们设置的端口号是3308,我们可以去看看

很好,没有问题。 

这个时候我们再去把停止的mysql8.0进行启动一下

现在mysql8.0和mysql5.7在同时运行了。我们再看看端口号

 都没有问题。现在就安装完成了。我们现在这个机器就已经运行了mysql5.7和mysql8.0了。

我们也可以去目录里面看看

2.配置不同版本的选项文件

        不同的MySQL版本启动时,会在默认的数据⽬录下读取相应版本的 my.ini ⽂件,⽐如5.7版本 启动时会读取D:\MySQL\MySQLServer5.7\my.ini⽂件,8.0版本启动时会读取 D:\MySQL\MySQLServer8.0\my.ini⽂件,为了让不同版本的实例在启动时避免冲 突,⽐如端⼝冲突,需要对不同版本的实例进⾏⼀些差异配置。

2.1.修改数据目录

现在mysql8.0和mysql5.7的数据目录分别是D:\MySQL\MySQL Server 8.0\Data,D:\MySQL\MySQL Server 5.7\Data,我现在想要对它们进行集中管理,我想让这两个数据目录分别修改为下面这个情况。

# 因为路径中有空格,所以要⽤双引号引起来# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld]  # mysqld节点
datadir= "D:/MySQL/databases/data5.7" #5.7版本的⾃定义的基本⽬录# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld]  # mysqld节点
datadir= "D:/MySQL/databases/data8.0" #8.0版本的⾃定义的基本⽬录

但是修改数据目录可不仅仅只是修改配置文件这么简单。 我们往下看

首先我们创建D:/MySQL/databases/,

然后我们要去 将D:\MySQL\MySQL Server 8.0\Data,D:\MySQL\MySQL Server 5.7\Data

分别拷贝到这里然后分别改名为data8.0,data5.7。

好,我们现在就来修改我们的配置文件。


  • 修改MySQL8.0的配置文件

在配置选项之前,我们需要先备份一下我们的配置文件。

 

现在我们就可以去修改我们原来的配置文件了

 

 找到下面这个来

 修改datadir,改成D:/MySQL/databases/data8.0

 保存退出即可


  • 接下来来修改mysql5.7的

还是不要忘记了保存副本

然后我们进去修改一下

 

保存退出即可。

2.2.修改基本目录

 使⽤选项--basedir=dir_name 为每个实例指定基本⽬录,通常指定为安装⽬录,不同的实例 会⾃动使⽤不同的数据⽬录、⽇志⽂件和PID⽂件,这些⽂件的默认值都是相对于基本⽬录的,当 然也可以⾃定义这些⽂件:

# 路径中的空格要⽤双引号引起来# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld]  # mysqld节点
basedir= "D:\MySQL\MySQL Server 5.7" #5.7版本的⾃定义的基本⽬录# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld]  # mysqld节点
basedir= "D:\MySQL\MySQL Server 8.0" #8.0版本的⾃定义的基本⽬录

这个其实我们没必要改

2.3.修改端口号

通过选项--port 设置TCP/IP连接的端⼝号。如果主机有多个⽹络地址,通过设置 bind_address 系统变量指定不同侦听地址

# 路径中的空格要⽤双引号引起来# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld]  # mysqld节点
port=3308 #5.7版本的⾃定义的端口号# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld]  # mysqld节点
port=3306 #8.0版本的⾃定义的端口号

这个其实我们已经检查过了,就不说了。

2.4.设置⽇志⽬录

默认情况下如果开启⼀般查询⽇志,慢查询⽇志,错误⽇志,⼆进制⽇志,会在默认的数据⽬录下⽣ 成⽇志⽂件,也可以⾃定义⽬录。

首先我们需要准备下面这个目录


  • 对于MySQL8.0

我们发现系统自动开启了这些日志的选项

接下来我把这些换成下面这个 

[mysqld]  # MySQL 服务器核心配置节点
# ----- 日志输出目标设置 -----
log-output=FILE  # 指定所有日志输出到文件系统(非数据库表)# ----- 一般查询日志配置 -----
general-log=0  # 关闭一般查询日志(记录所有客户端执行的SQL语句)
general_log_file=D:/MySQL/log/log8.0/general.log  # 一般查询日志存储路径# ----- 慢查询日志配置 -----
slow-query-log=1  # 启用慢查询日志(记录执行时间过长的查询)
slow_query_log_file=D:/MySQL/log/log8.0/slow_query.log  # 慢查询日志存储路径
long_query_time=10  # 定义慢查询阈值(单位:秒,≥10秒的查询会被记录)# ----- 错误日志配置 -----
log-error=D:/MySQL/log/log8.0/error_log.err  # 错误日志存储路径(记录服务启动/运行中的关键错误)# ----- 二进制日志配置 -----
log-bin=D:/MySQL/log/log8.0/bin_log  # 二进制日志存储路径(用于主从复制和数据恢复)

保存即可。


  • 对于MySQL5.7

我们也是将其修改成下面这个

[mysqld]  # 服务器配置节点
# ----- 日志输出目标设置 -----
log-output=FILE  # 指定日志输出到文件(非表)# ----- 一般查询日志配置 -----
general-log=0  # 禁用一般查询日志(记录所有SQL操作)
general_log_file=D:/MySQL/log/log5.7/general.log  # 一般查询日志存储路径# ----- 慢查询日志配置 -----
slow-query-log=1  # 启用慢查询日志
slow_query_log_file=D:/MySQL/log/log5.7/slow_query.log  # 慢查询日志存储路径
long_query_time=10  # 定义慢查询阈值(执行时间≥10秒的查询)# ----- 错误日志配置 -----
log-error=D:/MySQL/log/log5.7/error_log.err  # 错误日志存储路径(记录启动/运行错误)# ----- 二进制日志配置 -----
log-bin=D:/MySQL/log/log5.7/bin_log  # 二进制日志存储路径(用于主从复制/数据恢复)

2.5.配置临时目录

mysql在运行过程中还是会产生很多临时文件,这些临时文件可不能乱放,所以我们需要对它们进行统一管理。

# 路径中的空格要⽤双引号引起来# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld]  # mysqld节点
tmpdir=D:/MySQL/temp/temp5.7# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld]  # mysqld节点
tmpdir=D:/MySQL/temp/temp8.0

首先我们需要准备这个目录 

然后我们就去配置一下,那具体过程我就不说了。

2.6.修改绑定地址

对于bind_address,还是很有必要修改的,这决定了我们能不能连接上mysql服务器

这个大家自己去修改即可。

 2.7.检验是否配置成功

现在我们就得去重新启动我们的mysql服务,看看有没有配置成功。

注意:如果重新启动不了,就说明我们配置失败了。就像下面这个情况

我们点击确定之后始终启动不了我们的mysql服务

这个时候要重新检查一下我们的配置过程是不是出问题了,包括路径的名称,选项等

这个时候我们还是需要去检查一下端口号有没有正常运行

没有问题,都在正常运行。

现在就正式的配置成功了。

3.在多服务器环境中使用客户端程序

3.1.配置MySQL环境变量

为了连接不同版本的mysql服务器,我们需要借助命令行工具。

但是如果我们不配置环境变量的话,就会出现下面这个情况

我们不能从任意位置访问mysql服务器

 这就需要我们去配置环境变量。


  • 1.找到MySQL的安装位置

一般默认的是C:\Program Files,我的是在D盘,这个没有很大要求

如果不记得自己安装的路径了,可以通过从“服务”中找到MySQL,点击“属性”即可看到安装路径

 我们可以先看看Mysql8.0的安装路径

 

我们只需要bin前面那一部分,即D:\MySQL\MySQL Server 8.0。这就是mysql8.0的安装路径。

至于mysql5.7的安装路径,则是D:\MySQL\MySQL Server 5.7


  • 2. 找到环境变量

点击电脑,选择属性,点击“高级系统设置”

变量名变量值
MYSQL57_HOMED:\MySQL\MySQL Server 5.7
MYSQL80_HOMED:\MySQL\MySQL Server 8.0

系统变量的框框里点击新建,创建变量名MYSQL57_HOME,路径为安装MySQL5.7的目录下,即bin的上一层目录D:\MySQL\MySQL Server 5.7

系统变量的框框里点击新建,创建变量名MYSQL80_HOME,路径为安装MySQL8.0的目录下,即bin的上一层目录D:\MySQL\MySQL Server 8.0

 


  • 3.编辑path系统变量,将 %MYSQL80_HOME%\bin 和 %MYSQL57_HOME%\bin添加到path变量后

添加下面这两个即可 

然后按确定即可。

现在我们就可以使用cmd命令行来连接我们的mysql服务器了。

3.2.连接

使用mysql客户端程序,根据不同版本的MySQL实例配置的IP和端口号,指定相应的选项,连接不同的MySQL服务器。 指定端口通过--port=端口号选项实现, 如果绑定了不同的网卡通过--host=host_name选项实现, 如果不指定--host选项,则使用默认值localhost。

如果说我们想要连接mysql5.7版本的,我们的连接命令就应该是下面这样子

mysql --port=3308 -u root -p

 

 如果说我们想要连接mysql8.0版本的,我们的连接命令就应该是下面这样子

mysql --port=3306 -u root -p

很好。

现在就算是完全成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87955.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87955.shtml
英文地址,请注明出处:http://en.pswp.cn/web/87955.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

verilog中timescale指令的使用

1.timescale指令格式timescale <时间单位> / <时间精度>时间单位&#xff1a;它确定了仿真中时间值的基本单位。比如 1ns 就意味着时间值是以纳秒为单位来计量的。 时间精度&#xff1a;该参数决定了时间值能够表示的最小分辨率。例如 1ps 表示时间可以精确到皮秒级…

08_Excel 导入 - 用户信息批量导入

08_Excel 导入 - 用户信息批量导入 1. VO 类 java复制编辑Data AllArgsConstructor NoArgsConstructor public class UserInfoBatch4ExcelReq {ExcelProperty(value "用户姓名")Schema(description "用户姓名")private String userName;ExcelProperty(va…

【深度学习新浪潮】什么是世界模型?

世界模型(World Model)是人工智能领域中一类通过构建环境的抽象表示来理解和预测外部世界的系统。它通过整合多模态数据(如视觉、语言、传感器信号)形成对环境的动态认知,并支持智能体在复杂场景中进行决策与规划。以下从核心概念、解决的问题、关键研究、技术路线、现状与…

React + Express 传输加密以及不可逆加密

一、传输加密这里用 对称加密模式 ASE实现。React 前端const CryptoJS require("crypto-js");// 示例1&#xff1a;ECB模式&#xff08;无需IV&#xff09; const encryptECB (plainText, key) > {return CryptoJS.AES.encrypt(plainText, key, {mode: CryptoJS…

浏览器(Chrome /Edge)高效使用 - 内部命令/快捷键/启动参数

今天在CSDN上传文件,提交总是提示续传失败,重试了五六次才想到获取是科学上网的问题,这个时候其实只要重启浏览器即可,但如果手动关闭浏览器再次打开,浏览器不会恢复之前的多开窗口(会恢复最后一个窗口内多开的标签页,但不会恢复其他窗口)。想了想记得 Chrome 流行的时…

【PTA数据结构 | C语言版】连续子序列最大和

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录 题目代码 题目 给定 n 个整数组成的序列 { a1 ,a2 ,⋯,an }&#xff0c;“连续子序列”被定义为 { ai ,ai1 ,⋯,aj }&#xff0c;其中 1≤i≤j≤n。“连续子序列最大和”则被定义为所有连续子序列元素的和中最大…

Vrrp配置和原理

Vrrp配置和原理 文章目录Vrrp配置和原理概述物理与逻辑拓扑重点vrid虚拟路由器虚拟IP地址及虚拟MAC地址超时时间计算-MASTER_DOWNvip 管理员手动指定方法Master路由器Backup路由器PriorityVRRP报文格式VRRP状态机从Backup到masterVRRP协议状态二.优先级一样比较接口IPVRRP优先级…

可编辑59页PPT | 某大型集团人工智能数字化转型SAP解决方案

荐言摘要&#xff1a;某大型集团人工智能数字化转型中&#xff0c;SAP解决方案扮演着智能中枢角色&#xff0c;深度融合AI技术与核心业务场景&#xff0c;破解传统系统“数据孤岛流程僵化”双重困局。针对集团跨产业、多业态特点&#xff0c;方案以SAP S/4HANA为数据底座&#…

【RK3568 驱动开发:实现一个最基础的网络设备】

RK3568 驱动开发&#xff1a;实现一个最基础的网络设备一、引言二、编写网络设备驱动代码1. 核心数据结构与接口2. 核心功能实现3. 网络命名空间管理4.源代码三、编译与验证1.加载模块2.验证网络四、注意事项一、引言 RK3568 作为一款高性能 ARM 架构处理器&#xff0c;广泛应…

CAIDCP系列对话:AI 驱动安全

数字时代&#xff0c;AI浪潮翻涌&#xff0c;网络安全攻防战已悄然升级&#xff1a; 某工业控制系统遭AI驱动勒索攻击&#xff1a;攻击者借 AI 精准捕捉异常网络扫描、远程 PowerShell 痕迹&#xff0c;瞬间加密文件索要赎金&#xff1b; 另一边&#xff0c;某大型科技公司用AI…

ARMv8 没开mmu执行memset引起的非对齐访问异常

最近在haps上验证一个新的芯片&#xff0c;记录一下memset访问出错的问题。在没开mmu和cache的情况下&#xff0c;对全局变量指针进行memset清零操作&#xff0c;发现每次都会出现异常。最后发现是没开mmu导致出现了数据非对齐访问导致报错。排查EC区域发现是0x25&#xff0c;产…

基于LiveKit Go 实现腾讯云实时音视频功能

详细的生产部署建议&#xff0c;适用于 LiveKit Go 服务器 Web 客户端 TURN/HTTPS。 1. 服务器准备 推荐使用云服务器&#xff08;如阿里云、腾讯云、AWS、Azure等&#xff09;&#xff0c;公网IP&#xff0c;带宽建议≥10Mbps。系统推荐 Ubuntu 20.04/22.04 或 CentOS 7/8&…

三位一体:Ovis-U1如何以30亿参数重构多模态AI格局?

1. 时代命题&#xff1a;多模态统一模型的破局之战当GPT-4o以万亿级参数构建多模态帝国时&#xff0c;中国AI军团正在书写另一种答案。Ovis-U1用30亿参数证明&#xff1a;参数量并非决定性因素&#xff0c;架构创新与训练策略的化学反应&#xff0c;同样能催生出改变游戏规则的…

图像处理基础:镜像、缩放与矫正

在图像处理中&#xff0c;镜像、缩放和矫正操作是常见的图像变换手段。这些操作可以帮助我们对图像进行调整&#xff0c;以满足不同的需求。本文将详细介绍这三种操作的原理和实现方法&#xff0c;并通过代码示例展示它们的实际应用。一、图片镜像旋转1.1 什么是镜像旋转&#…

「Java案例」猜数游戏

案例实现 猜数字游戏 设计一个三位数的猜数游戏,三位数随机生成。程序提示用户输入一个三位的数字,依照以下的规则决定赢取多少奖金:1) 如果用户输入的数字和随机数字完全一致,输出:“恭喜恭喜!完全猜对了!获得三个赞!”2) 如果用户输入的数字覆盖了随机生成的所有数…

创客匠人解析创始人 IP 内卷:知识变现时代的生存逻辑与破局路径

当知识付费行业进入 “存量竞争” 阶段&#xff0c;创始人 IP 的 “内卷” 已非选择而是必然。创客匠人在服务数万知识创业者的实践中发现&#xff0c;那些实现逆势增长的案例&#xff0c;其核心差异往往在于创始人是否具备 “从幕后走到台前” 的决心与能力 —— 这种内卷并非…

250705-Debian12-sudo apt update加速+配置RDP远程桌面环境+设置FRP服务为开机启动项

A. 实现sudo apt update加速 在 Debian 12 上运行 sudo apt update 很慢的常见原因包括&#xff1a; &#x1f50d; 一、常见原因分析 使用了国外的软件源 默认 Debian 安装源多数是国际服务器&#xff0c;国内访问会非常慢。 DNS 解析慢或失败 软件源地址解析时间长&#xf…

数学视频动画引擎Python库 -- Manim Voiceover 语音服务 Speech Services

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 Manim Voiceover 是一个为 Manim 打造的专注于语音旁白的插件&#xff1a; 直接在 Python 中添加语音旁白&#xff1a; 无需使用视频编辑器&…

C++11 forward_list 从基础到精通:原理、实践与性能优化

文章目录一、为什么需要 forward_list&#xff1f;二、基础篇&#xff1a;forward_list 的核心特性与接口2.1 数据结构与迭代器2.2 常用接口速览2.3 基础操作示例&#xff1a;从初始化到遍历2.3.1 初始化与遍历2.3.2 插入与删除&#xff1a;before_begin 的关键作用三、进阶篇&…

物联网技术的核心组件与发展趋势(截至2025年)

一、物联网技术的核心组件物联网&#xff08;IoT&#xff09;技术体系由感知层、网络层、平台层、应用层和安全层构成&#xff0c;各层技术协同工作&#xff0c;实现物理世界与数字世界的深度融合。1. 感知层&#xff1a;数据采集与交互传感器技术&#xff1a;类型&#xff1a;…