在一台计算机上运行多个MySQL服务器

时间:2009-04-04 05:13:13

标签: mysql

我们可以在一台机器上运行多个MySQL服务器吗?

感谢。

4 个答案:

答案 0 :(得分:17)

是的,您只需要在不同的端口上运行它们,并将它们指向不同的lib目录以获取其数据。

这是一个很好的参考:http://dev.mysql.com/doc/refman/5.1/en/mutiple-servers.html

(如果您想将其用于测试,我建议您查看MySQL Sandbox,现在替换为dbdeployer

答案 1 :(得分:4)

在同一台机器上运行多个mysql实例(在不同的端口上)有多种方法。在这里,我使用了相同的二进制文件并使用了单独的配置文件(具有单独的端口,pid,套接字和数据目录)。 我们需要为datadir和log文件夹(如果使用)创建新目录。我们还需要为这些文件夹分配适当的权限:

# mkdir /var/lib/mysql2
  # chown -R mysql.mysql /var/lib/mysql2/
  # mkdir /var/log/mysql2
  # chown -R mysql.mysql /var/log/mysql2

接下来,我们需要一个与默认mysql配置文件相同的单独配置文件。首先,复制现有的并更改所需的值。

 # cp /etc/my.cnf /etc/my2.cnf

(或者更改配置文件的路径位于不同的位置)。

接下来,我们需要编辑具有不同mysql端口(默认为3306)的新配置文件,pid和套接字而不是默认端口,并且还要将数据和日志文件夹指向之前创建的文件。

# cd /etc
  # sed -i ‘s/3306/3307/g’ my2.cnf
  # sed -i ‘s/mysqld.sock/mysqld2.sock/g’ my2.cnf
  # sed -i ‘s/mysqld.pid/mysqld2.pid/g’ my2.cnf
  # sed -i ‘s/var\/lib\/mysql/var\/lib\/mysql2/g’ my2.cnf
  # sed -i ‘s/var\/log\/mysql/var\/log\/mysql2/g’ my2.cnf

最后我们需要初始化默认的dbs:

# mysql_install_db –user=mysql –datadir=/var/lib/mysql2/

最后,我们可以使用以下命令启动我们的新mysql实例:

# mysqld_safe – -defaults-file=/etc/my2.cnf &

我们可以使用以下方式连接到我们的新实例:

# mysql -S /var/run/mysqld/mysqld2.sock

# mysql -h 127.0.0.1 -P 3307

如果我们不再需要它,请停止:

# mysqladmin -S /var/run/mysqld/mysqld2.sock shutdown

参考网站:https://linuxinpakistan.com/start-multiple-instances-mysql-machine

答案 2 :(得分:1)

我在Windows 10上采取的措施:

  1. C:\ProgramData\MySQL\MySQL Server 8.0\my.ini复制到C:\ProgramData\MySQL\MySQL Server 8.0\my1.ini
  2. 打开my1.ini并修改:
    • port = 3307(在“客户端和服务器”部分下)
    • datadir = C:/ ProgramData / MySQL / MySQL Server 8.0 / Data1
    • report_port = 3307
  3. C:\ProgramData\MySQL\MySQL Server 8.0\Data复制到C:\ProgramData\MySQL\MySQL Server 8.0\Data1
  4. cmd提示符下运行:(如有必要,具有管理员权限)
    C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --install MySQL80-1 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my1.ini"

如果一切顺利,您将看到:
Service successfully installed.

  1. Win + R
    键入services.msc,找到服务名称MySQL80-1,右键单击它,然后单击Start

如果一切顺利,您将看到Status更改为Running
如果运行不正常,请打开xxx.err中的C:\ProgramData\MySQL\MySQL Server 8.0\Data1文件以查看原因。


如果您不再需要服务

  • 停止
  • cmd提示符下使用sc delete MySQL80-1删除它,其中MySQL80-1是您的服务名称。

答案 3 :(得分:0)

对于Windows,如果mysql服务器版本不同,则使用MYSQL Installer下载并安装不同版本的MYSQL服务器。

MYSQL installer window

为每个 MYSQL 服务器选择 Reconfigure 并以不同方式配置 PORT。点击下一步完成配置步骤直到完成

Port configuration window

相关问题