我刚刚在Windows 2012 VM上安装了MySQL 5.7。 我试图创build和运行多个实例,但非常沮丧,这样一个简单的事情是行不通的。
我在默认位置的C:\ Program Files \ MySQL \ MySQL Server 5.7中安装了MySQL,然后我复制了该文件夹,并创build了另一个副本来创build另一个实例(我想这是如何工作的?)
这两个MySQL实例如下图所示。
服务器1
Server2上
两个服务器的INI设置如下:
服务器1
服务器ID = 1
login斌=“MySQL的斌”
二进制日志-忽略-DB =testing
二进制日志-忽略-DB = INFORMATION_SCHEMA
重复实验-忽略-DB =testing
重复实验-忽略-DB = INFORMATION_SCHEMA
中继日志=“MySQL的中继日志”
自动增量增量= 2
自动增量偏移量= 1
Server2上
服务器ID = 2
login斌=“MySQL的斌”
二进制日志-忽略-DB =testing
二进制日志-忽略-DB = INFORMATION_SCHEMA
重复实验-忽略-DB =testing
重复实验-忽略-DB = INFORMATION_SCHEMA
中继日志=“MySQL的中继日志”
自动增量增量= 2
自动增量偏移量= 2
我通过打开命令提示符并键入以下命令运行两台服务器:
“C:\ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqld”
“C:\ Program Files \ MySQL \ MySQL Server 5.7 – 2 \ bin \ mysqld”
该命令似乎运行成功,因为没有显示错误,但当我看任务pipe理器,看看是否有任何MySQL进程正在运行,我看不到任何。
我究竟做错了什么?
我正在做的错误是复制整个MySQL安装文件夹。 你不需要复制这个文件夹。
DATADIR = C:/ MyInstances / DATA1
MySqlpath \ bin \ mysqld – 安装mysqld1 –defaults-file = PATH_TO_YOUR_INI_FILE
当然,在每个ini文件中,您必须定义@Anthony Fornito提到的不同端口号。
我相信你试图在同一个端口上运行它们。
更改端口号码是不同的是它的工作原理
在数据目录下创build一个名为mysql-init.txt的新文件,并添加一行以确保设置root用户的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]'; 编辑my.ini文件,方法是更改端口,套接字,datadir和共享内存基本名称。 所有这些都需要与其他MySQL实例不同。
my.ini文件:
[client] port=3333 socket=MYSQL2_INST.SOCK shared-memory-base-name=MYSQL2_INST [mysqld] shared-memory-base-name=MYSQL2_INST socket=MYSQL2_INST.SOCK port=3333 basedir="C:/Program Files/MySQL/MySQL Server 5.7" datadir="E:/MySQL2/Data"
从命令行导航到〜\ MySQL服务器XY \ bin \并运行
mysqld --install MySQL57-2 --defaulsts-file=e:\mysql2\data\my.ini --init file=e:\mysql2\data\mysql-init.txt 开始服务
net start mysql57-2 检查以确保服务已成功启动。 如果没有,那么你可以在数据文件夹中find一个错误日志,否则你应该很好去。