MySQL 多实例配置
前面介绍如何在 Windows 、Linux 下安装最新版 ,本节主要介绍如何在同一台主机上配置多实例 。
1. 端口号概念
所谓的端口,就好像是门牌号一样,客户端可以通过 ip 地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号 。
而 服务认指定的端口号为 3306,这个在之前介绍安装 的时候,其中配置 my.ini 的时候,其中就有端口号配置,如下:
2. 多实例应用场景
企业在项目开发过程中,会有各种各样差异化的需求,这些不同的需求可能对 版本有着不同的要求。
例如某公司官网开发时,使用的是 5.1 版本,但又有了新的开发项目进行,新的项目要求 版本至少要 5.7,这时候假如只有一台服务器的情况下,就需要配置两种不同版本的 。
对于操作系统来说,端口号只允许软件服务占用,但如果不进行相应的处理, 认端口号是 3306,这会导致不同实例的 之间会有占用端口号冲突的情况,从而无法正常运行。
而对于拥有更多业务的企业来说,配置多实例 也是为了更好地方便管理,之前介绍过安装最新版 ,并且启动 8.0 版本的 的认端口是 3306。本小节为了演示方便,都使用 8.0 配置多实例。
3.安装 多实例步骤
前面章节介绍过 Windows 下安装最新版 ,这里我们把下载好的安装包复制两份并分别重新命名为 “3308”、“3309”,如图所示:
接下来介绍如何安装启动端口号分别为 3308、3309 的 实例,如果想要配置更多 实例,也可参考此新增多个 实例。
1. 进入"3308"目录,新建 my.ini" ,如下:
[d]# 设置3308端口port=3308# 设置的安装目录basedir=D:\WWW\\3308# 设置的数据的存放目录datadir=D:\WWW\\3308\data # 允许最大连接数max_connections=200#允许连接失败的。防止有人从该主机试图攻击系统max_connect_errors=10# 服务端使用的字符集认为UTF8character-set-server=utf8# 创建新表时将使用的认存储引擎default-storage-engine=INNODB# 认使用“_native_password”认证default_authentication_plugin=_native_password[]# 设置客户端认字符集default-character-set=utf8[client]# 设置客户端连接服务端时认使用的端口port=3308 default-character-set=utf8
如下图所示 :
2. 以身份打开 cmd 命令,进入 D:WWW\\3308\bin
目录,执行初始化命令,命令如下:
命令 : d --initialize --console
初始化成功如下图所示:
3. 加载 服务,注意之前安装 已经加载过 服务,为了防止冲突,需要区分,命令如下:
命令 : d install 3308
加载安装成功如下图所示:
4. 此时可以启动 3308 服务了,启动命令如下:
命令 : net start 3308
启动成功如下图所示:
5. 用 3308 端口号 ,命令如下:
命令 : -uroot -p -P3308
过程如图所示:
成功之后如下图所示:
6. 至此 安装 3308 端口 实例完成,后续参照此继续完成 3309 号端口 服务即可,每次新增实例要保证 my.ini 端口号配置不冲突即可,安装 3309 端口号实例如下图所示:
以上为 my.ini ,下图为 3309 服务启动过程图:
3. 小结
本小节介绍了如何在同一台主机操作系统上配置多个 实例,这些不同的 服务互相独立,分开管理,需要注意的是每个 服务需要使用唯一的端口号,与其他类似服务之间也是如此,不能和其他类似软件服务之间有端口号冲突,负责会导致 服务无法正常运行。