单服务器部署多MySQL实例配置详解及主从复制实现方法

栏目:技术文章 发布时间:2026-04-02 09:25
通过mysqld_multi工具在单台服务器上成功部署多个MySQL实例,实现不同端口独立运行,完成主从复制配置,达到多主一从的数据库同步效果。

第一部分, 在一台服务器构建多mysql 服务.

一,绪言

我的配置文件中有mysqld1,mysqld2,mysqld3,mysqld4。就是说我将启动4个mysql服务在同一服务器的不同端口——3306-3309,每datadir所指定的数据库文件路径都是不相同的,都有各自不同的日志文件。其它一些设置可用my.cnf 原来的内容.

ok, 重要的my.cnf编好的,现在为配置中不同mysql 服务建立各自文件夹和初始数据库等.

我们可能看看这些目录是否都存在.

db-app:/ # /usr/local/mysq/bin/mysqld_multi --config-file=/etc/my.cnf start 1  只启动 第一个mysql服务,相关文件由my.cnf中mysql1设定.

db-app:/ # /usr/local/mysq/bin/mysqld_multi  --config-file=/etc/my.cnf stop 1  启止 第一个mysql服务 

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf start 1-4, 启动 第1至4mysql服务,其实就是我这里的全部.

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf report  1-4

查看启动:

db-app:/ #  ps aux 

root     10467  0.0  0.2   2712  1300 pts/0    S    18:59   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --port=3306 --socket=/tmp/mysql.sock1

启动多mysql服务都是相同的,

[mysqldump]

在功告成,现在分别启动两台主机上的多mysql服务,这样,每个主服务的每个mysql有变化,都会自动复制/更新到从服务器对应的数据库中。

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf start 1-4

第一部分, 在一台服务器构建多mysql 服务.

一,绪言

我的配置文件中有mysqld1,mysqld2,mysqld3,mysqld4。就是说我将启动4个mysql服务在同一服务器的不同端口——3306-3309,每datadir所指定的数据库文件路径都是不相同的,都有各自不同的日志文件。其它一些设置可用my.cnf 原来的内容.

ok, 重要的my.cnf编好的,现在为配置中不同mysql 服务建立各自文件夹和初始数据库等.

我们可能看看这些目录是否都存在.

db-app:/ # /usr/local/mysq/bin/mysqld_multi --config-file=/etc/my.cnf start 1  只启动 第一个mysql服务,相关文件由my.cnf中mysql1设定.

db-app:/ # /usr/local/mysq/bin/mysqld_multi  --config-file=/etc/my.cnf stop 1  启止 第一个mysql服务 

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf start 1-4, 启动 第1至4mysql服务,其实就是我这里的全部.

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf report  1-4

查看启动:

db-app:/ #  ps aux 

root     10467  0.0  0.2   2712  1300 pts/0    S    18:59   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --port=3306 --socket=/tmp/mysql.sock1

第二部分, 在一台服务器构建多mysql主 服务.

提示:建立一个帐号,专门用于下面主从复制,本例用的的帐号repl, 口令为:'1234567890', 可让其拥有select_priv, reload_priv,process_priv,grant_priv,super_priv,repl_slave_priv,repl_client_priv权限,并能通过任何客户进行访问,即访问客户为'%'。

启动多mysql服务都是相同的,

第三部分,  在一台服务器构建多mysql 从服务.

构建从服务器的预选准备: 建议用mysqld_multi   把主服务器的mysql全部停掉.删除数据目录中的所有除数据库目录以外的任何文件(此文中的数据目录库有4个,datadir = /usr/local/mysql/中的 data1 --  data1).建主从都用相同的数据目录路径.

[mysqldump]

在功告成,现在分别启动两台主机上的多mysql服务,这样,每个主服务的每个mysql有变化,都会自动复制/更新到从服务器对应的数据库中。

db-app:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf start 1-4

db-app1:/ # /usr/local/mysq/bin/mysqld_multi   --config-file=/etc/my.cnf start 1-4

五,未来测试,

接下来我想做一个多主一从的Mysql服务器复制解决方案! 那位可以给点意见啊!结构如下.

就是有主服务器Server A , Server B和从服务器 Server C, A 和 B运行着不同的数据库应用, 假设数据库名都不同。Server C(假设这三台PC上都只运行了一个mysql服务),包括了A了B服务器的所有Mysql 用户及相同的访问权限, 并集成在一个Mysql服务中. C通过主/从方式复制A和B的数据库。

就是差不就是把两个主服务器的mysql合并到一个从服务器中.

(责任编辑:海纳百川  qlmzl11268@hotmail.com   TEL:(010)68476606-8007)