千家信息网

这么早Windows环境中运行多个MySQL

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这么早Windows环境中运行多个MySQL?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.在windows中MySQ
千家信息网最后更新 2025年02月01日这么早Windows环境中运行多个MySQL

这么早Windows环境中运行多个MySQL?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.在windows中MySQL的base目录中创建两个新实例的数据目录data3307,data3308

2.为每个新实例设置配置文件来指定相关选项

my3307.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3307端口port = 3307# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3307# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3307.errpid-file=D:\mysql-5.7.25-win32\mysqld3307.pidsocket =D:\mysql-5.7.25-win32\mysql3307.sock

my3308.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3308端口port = 3308# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3308# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3308.errpid-file=D:\mysql-5.7.25-win32\mysqld3308.pidsocket =D:\mysql-5.7.25-win32\mysql3308.sock

3.初始化新数据库

D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3307.cnf --initialize --basedir=D:\mysql-5.7.25-win32 --datadir=D:\mysql-5.7.25-win32\data3307D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf --initialize --basedir=D:\mysql-5.7.25-win32 --datadir=D:\mysql-5.7.25-win32\data3308

4.启动数据库

D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3307.cnfD:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf

每个服务器都在前台启动(在服务器稍后退出之前不会出现新的提示),所以您需要在单独的控制台窗口中发出这两个命令。

5.登录数据库修改密码

C:\Users\Administrator>mysql --port=3307 --host=127.0.0.1 --user=root --password=U0U?KinrdWHbmysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.7.25Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)mysql> exitByeC:\Users\Administrator>mysql --port=3307 --host=127.0.0.1 --user=root --password=123456mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.7.25 Source distributionCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> exitC:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=rootEnter password: ************Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 5.7.25Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)mysql> exitByeC:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=root --password=123456mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 5.7.25 Source distributionCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

6.为了关闭数据库服务器,使用合适的端口号连接到每个实例执行下面的命令:

C:\Users\Administrator>mysqladmin --port=3307 --host=127.0.0.1 --user=root --password=123456 shutdownmysqladmin: [Warning] Using a password on the command line interface can be insecure.C:\Users\Administrator>mysqladmin --port=3308 --host=127.0.0.1 --user=root --password=123456 shutdownmysqladmin: [Warning] Using a password on the command line interface can be insecure.

上面的配置允许客户端通过TCP/IP来进行连接。如果你的Windows版本支持命名管道并且你也想使用命名管道来连接,指定启用命名管道选项和指定它的名称。每个实例支持命名管道连接必须使用一个唯一的管道名。例如:

my3307.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3307端口port = 3307# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3307# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3307.errpid-file=D:\mysql-5.7.25-win32\mysqld3307.pidenable-named-pipesocket =D:\mysql-5.7.25-win32\mysql3307.sock

my3308.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3308端口port = 3308# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3308# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3308.errpid-file=D:\mysql-5.7.25-win32\mysqld3308.pidsocket =D:\mysql-5.7.25-win32\mysql3308.sock

然后启动MySQL实例。想让客户端通过共享内存连接的过程与上面的过程类似。对每个连接使用-shared-memory选项并使用-shared-memory-base-name选项来为每个实例指定唯一的共享内存名字。

在Windows中作为Windows服务来启动多个MySQL实例

在Windows中,一个MySQL服务器可以以Windows服务来运行。为了设置多个MySQL服务,你必须确保每个实例使用不同的服务名另外其它参数每个实例必须都有唯一值。为了将MySQL服务器注册成为Windows服务,使用mysqld -install或mysqld -install-manual选项。

基于上面的信息,有几种方式来设置多个Windows服务。在注册Windows服务之前需要关闭并删除任何已经存在的Windows服务。

方法1

在一个标准的选项文件中指定所有服务选项。这样就需要为每个MySQL服务指定不同的服务名。假设端口为3307的MySQL实例的服务名为mysqld1,端口为3308的MySQL实例的服务名为mysqld2。那么D:\mysql-5.7.25-win32\my.ini设置如下:

[mysqld1]# 设置3307端口port = 3307# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3307# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3307.errpid-file=D:\mysql-5.7.25-win32\mysqld3307.pidsocket =D:\mysql-5.7.25-win32\mysql3307.sock[mysqld2]# 设置3308端口port = 3308# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3308# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3308.errpid-file=D:\mysql-5.7.25-win32\mysqld3308.pidsocket =D:\mysql-5.7.25-win32\mysql3308.sock

注册服务,使用完整服务路径名来确保Windows为每个服务注册正确的可执行程序:

D:\mysql-5.7.25-win32\bin>mysqld --install mysqld1Service successfully installed.D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2Service successfully installed.

为了启动MySQL服务,使用服务管理器或者使用net start servicename:

C:\Users\Administrator>net start mysqld1

mysqld1 服务正在启动 .

mysqld1 服务已经启动成功。

C:\Users\Administrator>net start mysqld2

mysqld2 服务正在启动 .

mysqld2 服务已经启动成功。

为了停止MySQL服务,使用服务管理器或者使用net stop servicename:

C:\Users\Administrator>net stop mysqld1

mysqld1 服务正在停止.

mysqld1 服务已成功停止。

C:\Users\Administrator>net stop mysqld2

mysqld2 服务正在停止.

mysqld2 服务已成功停止。

删除服务

D:\mysql-5.7.25-win32\bin>mysqld --remove mysqld1Service successfully removed.D:\mysql-5.7.25-win32\bin>mysqld --remove mysqld2Service successfully removed.

方法2

为每个MySQL服务使用单独的文件来指定选项并且在注册服务时使用-defaults-file选项来告诉每个服务器所要使用的选项文件。在这种情况下,每个文件都将使用[mysqld]选项组。

my3307.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3307端口port = 3307# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3307# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3307.errpid-file=D:\mysql-5.7.25-win32\mysqld3307.pidenable-named-pipesocket =D:\mysql-5.7.25-win32\mysql3307.sock

my3308.cnf文件内容如下:

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]# 设置3308端口port = 3308# 设置mysql的安装目录basedir=D:\mysql-5.7.25-win32# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错datadir=D:\mysql-5.7.25-win32\data3308# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBexplicit_defaults_for_timestamp=truelog-error=D:\mysql-5.7.25-win32\mysql3308.errpid-file=D:\mysql-5.7.25-win32\mysqld3308.pidsocket =D:\mysql-5.7.25-win32\mysql3308.sock

将每个MySQL实例注册成Windows服务

D:\mysql-5.7.25-win32\bin>mysqld --install mysqld1 --defaults-file=D:\mysql-5.7.25-win32\my3307.cnfService successfully installed.D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2 --defaults-file=D:\mysql-5.7.25-win32\my3308.cnfService successfully installed.

启动服务

C:\Users\Administrator>net start mysqld1

mysqld1 服务正在启动 .

mysqld1 服务已经启动成功。

C:\Users\Administrator>net start mysqld2

mysqld2 服务正在启动 .

mysqld2 服务已经启动成功。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

服务 字符 字符集 数据 目录 实例 数据库 文件 端口 配置 最大 客户 客户端 引擎 系统 编码 存储 生成 内容 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 陇南智安互联网科技有限公司 学校网络安全自查表怎么填 赤峰云计算网络安全工程师 服务器安全设置总结 免费服务器好 大型游戏服务器是什么样子的 数据库 设计 规范 自然资源部中小学生网络安全 虚拟机更新服务器证书错误怎么办 盛京银行app 服务器在哪 互联网国产科技 苏州计算机软件开发平台 服务器配置安全组ip会变 雪山服务器 南开区游戏软件开发 软件开发6年后工作前景好吗 软考数据库工程师试题 数据库建立冗余字段的原则 服务器通过什么响应该报文 广州奇异果互联网科技 大话西游第一届服务器联赛决赛 dell ddr5服务器 网络安全集中化运营 九江英迈软件开发有限公司 程序设计基础中数据库和表的建立 网易邮箱链接显示服务器升级维护 软件开发业会计科目 计算机网络技术升本考什么科目 蝶雨瑶服务器是什么游戏 江阴运营软件开发市价
0