当前位置: 首页 > news >正文

【MySQL高阶】9.在一台机器上运行多个MySQL实例

文章目录

  • 5.在一台机器上运行多个MySQL实例
    • 5.1 使用MySQL Installer安装MySQL实例
    • 5.2 配置不同的版本选项文件
      • 5.2.1 指定基本目录
      • 5.2.2 设置数据目录
      • 5.2.3 设置端口号
      • 5.2.4 设置日志目录
      • 5.2.5 其他设置
    • 5.3 在多服务器环境中使用客户端程序
    • 5.4 介绍一下你知道的MySQL服务器配置文件的选项

5.在一台机器上运行多个MySQL实例

  • 有时候我们希望在一台机器上运行多个MySQL实例,比如在开发环境测试新的MySQL版本,同时又要保证原有的版本不受影响;MySQL允许在一台机器上安装不同版本的发行版,比如同时运行5.78.0版本,只是要做一些相应的配置。
  • 为了降低配置难度,本节将在Windows系统中使用安装器演示配置多个MySQL实例的方法。

5.1 使用MySQL Installer安装MySQL实例

我这里演示,随便下一个了:

mysql-9.7.0-winx64.msi

先看一下没安装新版本前:

下载后先关闭本机的MySQL服务:

  1. 右键我的电脑,选择管理

  1. 停止该服务

  1. 双击安装包,点击安装:

一路next,到这里选择自定义

然后光标放到MySQL Server上,点击下面的Browse,注意路径不要放到原来的MySQL其他版本文件夹里面。

一路next,然后install,然后finish

接着点击next,直到出现这个页面:

继续next,注意下面的端口号和后面那个不能使用默认的,要换一下,不然以后会冲突:

继续next,输入密码后next

继续next,这个页面的两个可以勾选可以不勾选

继续next,选择Execute,进入安装,然后next,点击finish

进入计算机管理,刷新一下,可以看到新出现了MySQL97,一定要保证是手动的。

再次启动MySQL80,可以看到两个MySQL服务同时开启。

注意:

  1. 日志等其他自定义的路径按版本号区分
  2. 千万不要让两个不同的服务同时修改同一个目录下的同一个文件

下载不同版本的MySQL Installer,并完成安装,按照安装器的提示完成安装即可,安装过程中需要注意以下几点:

  • 为不同的版本指定不同的安装目录,安装完成后如下所示:


5.2 配置不同的版本选项文件

不同的MySQL版本启动时,会在默认的数据目录下读取相应版本的my.ini文件,比如9.7版本启动时会读取C:\ProgramData\MySQL\MySQL Server 9.7\my.ini文件,8.0版本启动时会读取C:\ProgramData\MySQL\MySQL Server 8.0\my.ini文件,为了让不同版本的实例在启动时避免冲突,比如端口冲突,需要对不同版本的实例进行一些差异配置。

查看端口:

可以看到33063308都启动了。

C:\Users\YuDukai>netstat -an 活动连接 协议 本地地址 外部地址 状态 ...... TCP [::]:445 [::]:0 LISTENING TCP [::]:1030 [::]:0 LISTENING TCP [::]:3306 [::]:0 LISTENING TCP [::]:3308 [::]:0 LISTENING TCP [::]:7680 [::]:0 LISTENING ......

5.2.1 指定基本目录

  • 使用选项--basedir=dir_name为每个实例指定基本目录,通常指定为安装目录,不同的实例会自动使用不同的数据目录、日志文件和PID文件,这些文件的默认值都是相对于基本目录的,当然也可以自定义这些文件:
# C:\ProgramData\MySQL\MySQL Server 9.7\my.ini # 路径中的空格要用双引号引起来 [mysqld] # mysqld节点 basedir="C:/Program Files/MySQL/MySQL Server 9.7" #5.7版本的自定义的基本目录 # C:\ProgramData\MySQL\MySQL Server 8.0\my.ini [mysqld] # mysqld节点 basedir="C:/Program Files/MySQL/MySQL Server 8.0" #8.0版本的自定义的基本目录

5.2.2 设置数据目录

  • 使用安装器安装成功后不同的版本的数据目录已经自动生成,如果要自定义数据目录,那么也需要按不同的版本分别设置别其他不同的目录
  • MySQL服务正常停止的状态下,复制C:\ProgramData\MySQL\MySQL Server x.x\Data目录到目标位置即可
  • 在对应版本的my.ini文件中指定自定义数据目录,通过指定--datadir=dir_name实现
# C:\ProgramData\MySQL\MySQL Server 9.7\my.ini [mysqld] # mysqld节点 datadir=D:/database/MySQL/data9.7 #9.7版本的自定义的数据目录 # C:\ProgramData\MySQL\MySQL Server 8.0\my.ini [mysqld] # mysqld节点 datadir=D:/database/MySQL/data8.0 #8.0版本的自定义的数据目录

注意:

永远不要让两台服务器对同一个数据库执行数据更新


5.2.3 设置端口号

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

# C:\ProgramData\MySQL\MySQL Server 9.7\my.ini [mysqld] # mysqld节点 port=3308 # 监听的端口 # C:\ProgramData\MySQL\MySQL Server 8.0\my.ini [mysqld] # mysqld节点 port=3306 # 监听的端口

5.2.4 设置日志目录

默认情况下如果开启一般查询日志,慢查询日志,错误日志,二进制日志,会在默认的数据目录下生成日志文件,也可以自定义目录:

Windows下要么用\\,要么用/

# C:\ProgramData\MySQL\MySQL Server 9.7\my.ini [mysqld] # mysqld节点 # 日志输入目标 log-output=FILE # 一般查询日志 general-log=1 general_log_file=D:/log/MySQL/9.7/general.log # 慢查询日志 slow-query-log=1 slow_query_log_file=D:/log/MySQL/9.7/slow_query.log long_query_time=10 # 错误日志 log-error=D:/log/MySQL/9.7/error_log.err #二进制日志基本名 log-bin=D:/log/MySQL/9.7/bin_log ################################################################### # C:\ProgramData\MySQL\MySQL Server 8.0\my.ini [mysqld] # mysqld节点 # 日志输入目标 log-output=FILE # 一般查询日志 general-log=1 general_log_file=D:/log/MySQL/8.0/general.log # 慢查询日志 slow-query-log=1 slow_query_log_file=D:/log/MySQL/8.0/slow_query.log long_query_time=10 # 错误日志 log-error=D:/log/MySQL/8.0/error_log.err #二进制日志基本名 log-bin=D:/log/MySQL/8.0/bin_log

5.2.5 其他设置

还有一些其他设置可以通过选项文件指定,比如服务器Id,临时文件目录等等:

# C:\ProgramData\MySQL\MySQL Server 5.7\my.ini [mysqld] # mysqld节点 server-id=57 # 服务器Id,随意指定一个值,不重复即可 tmpdir=D:/temp/mysql5.7 #临时文件目录 # C:\ProgramData\MySQL\MySQL Server 8.0\my.ini [mysqld] # mysqld节点 server-id=1 # 服务器Id,随意指定一个值,不重复即可 tmpdir=D:/temp/mysql8.0 # 临时文件目录

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

使用mysql客户端程序,根据不同版本的MySQL实例配置的IP和端口号,指定相应的选项,连接不同的MySQL服务器。

指定端口通过--port=port_number选项实现。

如果绑定了不同的网卡通过--host=host_name选项实现,如果不指定--host选项,则使用默认值loclhost

最后,玩完之后,记得把多的MySQL关掉。


5.4 介绍一下你知道的MySQL服务器配置文件的选项

这个问题主要考察选项的使用,回答这个问题可以先总体描述选项文件的使用场景,再介绍几个常见的选项即可

  1. 选项文件主要作用是设置MySQL服务常用的系统变量初始值,以便服务器启动时自动读取;
  2. 选项文件中可以用 [程序名] 的形式分别为不同的程序指定具体选项的值,也可以用[client][server]的形式分别指定客户端程序和服务器程序公共配置。
  3. 常见的选项有,客户端和服务器使用的字符集,客户端默认的用户名和密码,服务器的排序规则,服务器的端口号,自定义数据目录的路径,日志文件的路径,服务器允许的最大连接数,还有一些关于存储引擎的选项也可以用于性能调优,比如关于INNODB的选项,等等。
http://www.rkmt.cn/news/1439637.html

相关文章:

  • 第二周小学期任务
  • 2026 浙江湖州市(全区域服务)本地人必选彩钢瓦金属屋面防水防腐公司避坑指南 TOP5 推荐 - 本地便民网
  • 学习10个顶级商业思维:升级你的认知操作系统
  • 智慧树刷课插件终极指南:告别手动操作的自动化学习神器
  • Kubernetes与机器学习推理服务最佳实践
  • 【infra之路】阶段二 · 模块二:CUDA 编程入门(上)— 基本功与向量加法
  • 如何让 AI 读懂你的奇葩需求?针对 Gemini 3.5 优化的 Prompt 进阶指南
  • mydumper 编译安装与 RPM 部署:从源码到实战的避坑指南
  • Protobuf协议解析与微信数据结构设计
  • 对波普尔可证伪主义引发全域系统性灾难的全面批判
  • 百度SEO优化实战指南:2026年百度SEO优化核心技巧全面解析
  • STM32 SAI 通讯原理与 TDM 应用
  • 医疗营销实战:生成式AI在聊天机器人、内容创作与社交媒体中的应用
  • 【个人记账理财助手】手动新增账单功能
  • 第1篇 | 政治思维生存逻辑解析
  • 无人机红外数据集 深度学习框架 无人机高空红外检测系统pyqt5界面 无人机高空红外数据集 无人机高空红外行人车辆检测数据集
  • 波普尔主义百年灾难清单:系统性尸检报告
  • 2026年最新厦门市金银首饰回收+金条金币+铂金K金 高价回收;实体老店回收黄金 多年口碑 交易放心;TOP5实力权威排行榜推荐+联系方式 - 亦辰小黄鸭
  • 2026年最新汕头市金银首饰回收+金条金币+铂金K金 高价回收;实体老店回收黄金 多年口碑 交易放心;TOP5实力权威排行榜推荐+联系方式 - 亦辰小黄鸭
  • 10. JavaArrayList 核心笔记
  • 第五章:年终
  • [分享]EssentialPIM安卓版(手机个人信息管理软件)
  • 告别静音!Windows 11系统声音保姆级配置指南(附完整音效清单与事件对照表)
  • 智慧火灾巡检-基于深度学习火灾烟雾识别系统,森林火灾识别系统。森林火灾检测 无人机森林火灾检测
  • VSCode配置QT环境
  • 华为eNSP静态路由实验教学
  • 航拍地面目标数据集1713张VOC+YOLO格式
  • Ubuntu 远程登录配置
  • 工厂设备预测性维护的必要性与实践案例
  • 别再死记硬背了!用Spring Boot实战案例,5分钟搞懂UML类图的6种关系