当前已经安装了 MySQ(8.3.0),因为有时会需要用到多套系统数据(比如测试生产各一套数据),为了避免数据库名称冲突,希望安装多个 MySQL 实例。
- 停止现有 MySQL
- 复制
D:\soft\mysql-8.3.0-winx64\my.ini到D:\soft\mysql-8.3.0-winx64\my1.ini - 修改
my1.ini:- 端口改为
3307 - 数据库目录
datadir改为D:\soft\mysql-8.3.0-winx64\data1
- 端口改为
- 复制
D:\soft\mysql-8.3.0-winx64\data到D:\soft\mysql-8.3.0-winx64\data1(可选) - 以管理员权限打开
cmd,进入D:\soft\mysql-8.3.0-winx64\bin目录- 初始化 MySQL(可选,没有执行第 4 步时执行):
mysqld --defaults-file="D:\soft\mysql-8.3.0-winx64\my1.ini" --initialize --console,执行后注意控制台输出的密码 - 将新的 MySQL 注册为 Windows 服务:
mysqld install mysql1 --defaults-file="D:\soft\mysql-8.3.0-winx64\my1.ini",正常会输出Service successfully installed. - 启动 MySQL:
net start mysql1 - 进入 MySQL 服务:
mysql -u root -P3307 -p - 修改密码:
alter user 'root'@'localhost' identified by '123456';、flush privileges;
- 初始化 MySQL(可选,没有执行第 4 步时执行):
如果之后想卸载第二个实例,执行:net stop mysql1、mysqld --remove mysql1。
参考:
Run multiple MySQL server on a single machine
Window 系统下安装多个 MySQL 实例
MySQL :: MySQL 8.4 Reference Manual :: 7.8.2.2 Starting Multiple MySQL Instances as Windows Services