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

War*_*ior 12 mysql

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

谢谢.

Jer*_*ley 18

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

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

(如果你想用它进行测试,我建议你查看MySQL Sandbox @ https://launchpad.net/mysql-sandbox)


Mar*_*iss 8

有多种方法可以在同一台机器上运行多个 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
Run Code Online (Sandbox Code Playgroud)

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

 # cp /etc/my.cnf /etc/my2.cnf
Run Code Online (Sandbox Code Playgroud)

(或为您的配置文件在不同的地方适当地更改路径)。

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

# 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
Run Code Online (Sandbox Code Playgroud)

最后我们需要初始化默认的数据库:

# mysql_install_db –user=mysql –datadir=/var/lib/mysql2/
Run Code Online (Sandbox Code Playgroud)

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

# mysqld_safe – -defaults-file=/etc/my2.cnf &
Run Code Online (Sandbox Code Playgroud)

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

# mysql -S /var/run/mysqld/mysqld2.sock
Run Code Online (Sandbox Code Playgroud)

或者

# mysql -h 127.0.0.1 -P 3307
Run Code Online (Sandbox Code Playgroud)

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

# mysqladmin -S /var/run/mysqld/mysqld2.sock shutdown
Run Code Online (Sandbox Code Playgroud)

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


jum*_*key 6

我的步骤Windows 10

  1. 复制C:\ProgramData\MySQL\MySQL Server 8.0\my.iniC:\ProgramData\MySQL\MySQL Server 8.0\my1.ini
  2. 打开my1.ini并修改:
    • 端口=3307(在客户端和服务器部分下)
    • datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data1
    • 报告端口=3307
  3. 复制C:\ProgramData\MySQL\MySQL Server 8.0\DataC:\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“where is your service name”在提示中删除它MySQL80-1