windows下Mysql多实例部署的操作方法

一、什么是Mysql多实例

MySQL的多实例可以使得多个Mysql服务器实例运行在同一台机器上,能够有效的分离不同场景下的资源需求和隔离环境。可以节约部分硬件及维护成本,还可以让我们更容易管理实例

二、环境准备

1.安装Mysql

在Mysql官网上下载对应的版本进行安装,安装完成后需要先以管理员模式打开命令行

2.修改配置文件

不同实例需要不同的配置文件,可复制一份Mysql的配置文件my-default.ini,复制后改名,进行相应配置。

找到my-default.ini文件,将其复制到Mysql的安装目录下,更改名称为my-new-default.ini,然后进行修改。

将datadir修改为相应实例的存储路径,修改相应端口号port和socket,并将[mysqld]改为[mysqldunique_instance_name],如下:

```

# unique instance name

[mysqld_mysql1]

# socket path

socket="/tmp/mysql1.sock"

# 端口号

port=13306

# data directory

datadir="/mnt/local/mysql1/data"

# 日志配置

log-error="/mnt/local/mysql1/log/mysql_error.log"

log-bin="/mnt/local/mysql1/binlog/mysql-bin"

log-bin-index="/mnt/local/mysql1/binlog/mysql-bin.index"

```

配置多个实例后需在配置文件最后增加

```

# [mysqld]部分必须保留

[mysqld]

```

三、启动多个实例

通过mysqld_multi来启动多个实例。

1. 安装mysqld_multi

MYSQL自带mysqld_multi脚本

复制一下路径

`/usr/share/mysql/scripts/mysqld_multi`

将mysqld_multi复制到我们的环境变量可以找到的地方/usr/local/bin/下

2.配置启动多实例

```

mkdir -p /mnt/local/mysql1/data

mkdir -p /mnt/local/mysql1/log

chown -R mysql:mysql /mnt/local/mysql1

```

在/etc目录下新建一个my.cnf文件并配置多个实例进程的参数

```

mkdir /etc/my.cnf.d

vim /etc/my.cnf

```

文件内容如下:

```

[mysqld]

basedir=/usr/local/mysql

datadir=/mnt/local/mysql1/data

socket=/tmp/mysql1.sock

port=13306

pid-file=/mnt/local/mysql1/my.cnf.pid-file

bind-address=0.0.0.0

log-error=/mnt/local/mysql1/log/mysql.error

log-bin=/mnt/local/mysql/binlog/mysql-bin

log-bin-index=/mnt/local/mysql/binlog/mysql-bin.index

!includedir /etc/my.cnf.d

```

3. 启动多实例

执行 `mysqld_multi start`

四、其他常用命令

1. 查看多实例状态:

```

mysqld_multi report

```

2. 关闭多实例:

```

mysqld_multi stop

```

五、总结

Mysql多实例部署的好处有很多,能够有效地分离不同场景下的资源需求和隔离环境,同时也可以节约部分硬件及维护成本,对于多线上服务来说,是个非常有效的解决问题的方式。同时,我们也需要合理的分配资源,优化性能。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签