关于同一台机器上部署多个MySQL服务,你可以是下载多个MySQL不同版本的压缩包,也可以相同版本MySQL组成的集群;那么安装过程有如下几个简单操作:
下载MySQL安装包
选择路径解压
我是以Windows系统为例,解压完后,在解压之后的根目录下新建一个my.ini配置文件,在选择一个目录新建一个专门存放data数据的目录:
[mysqld]
# 设置3307端口
port=3307
server_id = 1
# 设置mysql的安装目录
basedir=D:/Tools/mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:/Databases/mysqldata/8.0.12
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
因为有多个服务,所以要注意配置文件上几点:
- 设置不同端口
- 设置唯一server_id
🚫最好不要设置系统变量环境
以管理员身份运行PowerShell Core
你可以是cmd都行,在运行以下命令:
- 进入对应目录下版本bin目录
cd D:\Tools\mysql-8.0.12-winx64\bin
• 安装服务名(服务名取名不同)
.\mysqld --install MySQL8012 --defaults-file="D:\Tools\mysql-8.0.12-winx64\my.ini"
• 初始化mysql
.\mysqld --datadir="E:\Databases\mysqldata\8.0.12" --initialize-insecure
• 启动服务
net start MySQL8012
• 登录MySQL服务(加入端口参数)
.\mysql -P 3307 -u root -p
输入空密码,就会进入服务,然后修改密码。其中root是用户,123456是新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这是其中一个的服务安装,其他的也大同小异,只要注意以下几点就行:
如果相同版本集群部署就是:
- 不要配置系统环境
- 目录夹取名区分一下(比如mysql-8.0.12-winx64-read和mysql-8.0.12-winx64-write;表示第一个只做读功能的服务,第二个只做写入数据的服务)
- 配置文件要注意:
- 端口不同;
- 唯一标识id;
- 安装目录和数据存放目录分别区分,尤其是数据目录多个MySQL服务不要指向同一个data目录,这样集群数据同一个数据库会混淆;
- mysqld安装服务名区分开.\mysqld --install MySQL8012 --defaults-file="D:\Tools\mysql-8.0.12-winx64\my.ini"
以上就是同一台机器上部署MySQL集群或者不同版本安装的步骤。