返回顶部
首页 > 资讯 > 数据库 >怎么在Windows中运行多个MySQL
  • 484
分享到

怎么在Windows中运行多个MySQL

2024-04-02 19:04:59 484人浏览 泡泡鱼
摘要

这篇文章主要讲解了“怎么在windows中运行多个Mysql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows中运行多个mysql”吧!1.

这篇文章主要讲解了“怎么在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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3307.err
pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid
Socket =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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3308.err
pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid
socket =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\data3307
D:\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.cnf
D:\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?KinrdWHb
mysql: [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 6
Server version: 5.7.25
Copyright (c) 2000, 2019, oracle and/or its affiliates. All rights reserved.
Oracle is a reGIStered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
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> exit
Bye
C:\Users\Administrator>mysql --port=3307 --host=127.0.0.1 --user=root --password=123456
mysql: [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 7
Server version: 5.7.25 Source distribution
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
C:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=root
Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.25
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
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> exit
Bye
C:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=root --password=123456
mysql: [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 9
Server version: 5.7.25 Source distribution
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
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 shutdown
mysqladmin: [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 shutdown
mysqladmin: [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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3307.err
pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid
enable-named-pipe
socket =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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3308.err
pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid
socket =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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3307.err
pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid
socket =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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3308.err
pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid
socket =D:\mysql-5.7.25-win32\mysql3308.sock

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

D:\mysql-5.7.25-win32\bin>mysqld --install mysqld1
Service successfully installed.
D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2
Service 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 mysqld1
Service successfully removed.
D:\mysql-5.7.25-win32\bin>mysqld --remove mysqld2
Service 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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3307.err
pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid
enable-named-pipe
socket =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=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql-5.7.25-win32\mysql3308.err
pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid
socket =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.cnf
Service successfully installed.
D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2 --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf
Service successfully installed.

启动服务

C:\Users\Administrator>net start mysqld1
mysqld1 服务正在启动 .
mysqld1 服务已经启动成功。
C:\Users\Administrator>net start mysqld2
mysqld2 服务正在启动 .
mysqld2 服务已经启动成功。

感谢各位的阅读,以上就是“怎么在Windows中运行多个MySQL”的内容了,经过本文的学习后,相信大家对怎么在Windows中运行多个MySQL这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在Windows中运行多个MySQL

本文链接: https://lsjlt.com/news/60882.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Windows中运行多个MySQL
    这篇文章主要讲解了“怎么在Windows中运行多个MySQL”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows中运行多个MySQL”吧!1....
    99+
    2024-04-02
  • 怎么在Linux中运行多个MySQL
    本篇内容介绍了“怎么在Linux中运行多个MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一种在L...
    99+
    2024-04-02
  • 这么早Windows环境中运行多个MySQL
    这么早Windows环境中运行多个MySQL?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.在windows中MySQL的b...
    99+
    2024-04-02
  • Windows下运行多个mysql实例
    为了测试Mysql group replication机制,特地在windows上创建多个mysql实例。其步骤如下:一,创建文件夹用于存放database的数据文件例如创建独立的文件夹:D:\Server...
    99+
    2024-04-02
  • 怎么在django中运行多个数据库
    本篇文章给大家分享的是有关怎么在django中运行多个数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。DATABASE_APPS_MAPPING = {...
    99+
    2023-06-06
  • Windows运行单个.bat文件或运行多个.bat文件
    一、运行单个.bat文件 首先创建一个.bat文件,例如 1.bat ,进入文件编辑,输入你想做的指令,例如: 进入Anaconda虚拟环境,然后运行代码 CALL E:\Anaconda3\Scripts\activate.bat E...
    99+
    2023-09-08
    python windows
  • Windows中怎么安装多个Mysql
    Windows中怎么安装多个Mysql,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。问:如何在Windows上安装多个Mysql? 答:具体方...
    99+
    2024-04-02
  • 怎么在Windows中运行Linux bash命令
    这篇文章主要讲解了“怎么在Windows中运行Linux bash命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows中运行Linux bash命令”吧!在 Windows...
    99+
    2023-06-05
  • 怎么使Ubuntu Tweak运行在Windows XP中
    本篇内容介绍了“怎么使Ubuntu Tweak运行在Windows XP中”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!看图后再说话:XP的...
    99+
    2023-06-16
  • 怎么在Linux中运行Windows的.exe文件
    本篇内容主要讲解“怎么在Linux中运行Windows的.exe文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux中运行Windows的.exe文件”吧!Wine 6.0特点:&...
    99+
    2023-06-15
  • pycharm怎么运行多个程序
    在 pycharm 中运行多个程序的方法有两种:使用“运行”配置或使用 python 控制台,例如使用 subprocess 模块创建新进程并运行 python 程序。 PyCharm...
    99+
    2024-04-17
    python pycharm
  • c++中一个对象怎么运行多个线程
    在C++中,一个对象可以通过创建多个线程来同时执行多个任务。为了实现这一点,你可以使用C++的多线程库,例如std::thread或...
    99+
    2024-02-29
    c++
  • windows中mfc110.dll没在指定在WINDOWS上运行怎么解决
    这篇文章主要介绍“windows中mfc110.dll没在指定在WINDOWS上运行怎么解决”,在日常操作中,相信很多人在windows中mfc110.dll没在指定在WINDOWS上运行怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-07-04
  • 在windows中:双击运行Python
    在windows中:双击运行Python程序、后台运行Python程序一、安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退。怎样避免闪退呢?1、bat启动start_show.bat  中1python mai...
    99+
    2023-01-31
    双击 windows Python
  • 怎么在Windows上运行Linux容器
    这篇文章主要讲解了“怎么在Windows上运行Linux容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows上运行Linux容器”吧!1、概述现在能够在 Windows 1...
    99+
    2023-06-16
  • 怎么在Windows上运行Linux 容器
    这篇文章给大家介绍怎么在Windows上运行Linux 容器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现在所有的Windows 10 和 Windows 服务器都能很好的支持Docker 容器,Docker 容器主...
    99+
    2023-06-28
  • 怎么在mac上运行windows软件
    在Mac上运行Windows软件有以下几种方法:1. 使用Boot Camp:这是苹果官方提供的一种方法,可以在Mac上安装Wind...
    99+
    2023-09-04
    mac windows
  • pycharm怎么运行多个py文件
    在 pycharm 中运行多个 py 文件:打开文件并创建运行配置,添加脚本并配置选项。保存配置并运行,pycharm 将同时运行所有指定的 py 文件。输出和错误信息可在 "run" ...
    99+
    2024-04-25
    linux python pycharm
  • pycharm多个py文件怎么运行
    在 pycharm 中同时运行多个 py 文件的方法:创建或打开项目。创建或打开所需的文件。创建运行配置,选择文件或目录。运行配置,按顺序运行文件。查看输出,包括错误或警告。 PyCh...
    99+
    2024-04-25
    python pycharm
  • c++中怎么实现一个对象运行多个线程
    在C++中,可以使用线程库来实现一个对象运行多个线程。下面是一个简单的示例: #include #include class ...
    99+
    2023-10-25
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作