暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.8.2.1在Windows命令行中启动多个MySQL实例

原创 由迪 2020-09-15
887

第2.3.4.6节“从Windows命令行启动MySQL”中](https://dev.mysql.com/doc/refman/8.0/en/windows-start-command-line.html) 介绍了从命令行手动启动单个MySQL服务器的过程 。要以这种方式启动多个服务器,可以在命令行或选项文件中指定适当的选项。将选项放置在选项文件中更为方便,但是有必要确保每个服务器都有自己的选项集。为此,请为每个服务器创建一个选项文件,并--defaults-file 在运行时告诉服务器该文件的名称和选项。

假设您要在端口3307上使用数据目录 运行一个mysqld实例C:\mydata1,并在端口3308上使用数据目录运行一个实例 C:\mydata2。使用此过程:

  1. 确保每个数据目录都存在,包括mysql包含授权表的数据库自己的副本。

  2. 创建两个选项文件。例如,创建一个名为的文件 C:\my-opts1.cnf,如下所示:

    [mysqld] datadir = C:/mydata1 port = 3307
    复制

    创建另一个名为的文件 C:\my-opts2.cnf,如下所示:

    [mysqld] datadir = C:/mydata2 port = 3308
    复制
  3. 使用该--defaults-file 选项可使用其自己的选项文件启动每个服务器:

    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts2.cnf
    
    复制

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

要关闭服务器,请使用适当的端口号连接到每个服务器:

C:\> C:\mysql\bin\mysqladmin --port=3307 --host=127.0.0.1 --user=root --password shutdown
C:\> C:\mysql\bin\mysqladmin --port=3308 --host=127.0.0.1 --user=root --password shutdown
复制

如上所述配置的服务器允许客户端通过TCP / IP连接。如果您的Windows版本支持命名管道,并且您还希望允许命名管道连接,请指定启用命名管道并指定其名称的选项。每个支持命名管道连接的服务器都必须使用唯一的管道名称。例如,C:\my-opts1.cnf文件可能是这样写的:

[mysqld] datadir = C:/mydata1 port = 3307 enable-named-pipe socket = mypipe1
复制

进行C:\my-opts2.cnf类似的修改以供第二台服务器使用。然后如前所述启动服务器。

类似的过程适用于您要允许共享内存连接的服务器。通过在shared_memory启用系统变量的情况下启动服务器来启用此类连接, 并通过设置shared_memory_base_name系统变量为每个服务器指定唯一的共享内存名称 。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论