千家信息网

MySQL多主一从的备份方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"MySQL多主一从的备份方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为了负载均
千家信息网最后更新 2026年11月02日MySQL多主一从的备份方法

本篇内容介绍了"MySQL多主一从的备份方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

为了负载均衡我们做过一主一从、一主多从,那么多主一从我们基本用于备份策略当中。我们知道宏观的一主多从其实就是加了几个服务器,微观到每个服务器就是一主一从的实现。多主一从的实现是也是基于一主一从,区别在于配置与启动/停止的方式上。

主服务器略

下面我们来仔细看下从服务器的配置文件/etc/my.cnf,主要有两部分
[mysqld_multi]和[mysqld]模块
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
password = 123456

# The MySQL server
[mysqld1]
port = 3306
socket = /tmp/mysql.sock1
pid-file = /data/dbfile/file-1.pid
log-bin=mysql-bin-1
binlog_format=mixed
log-error=/data/dbfile/err-1.log

server-id = 1
master-host=192.168.1.1
master-user=testrep
master-password=rep123
master-port=3306
master-connect-retry=30
master-info-file=master-1.info
relay-log=relay-bin-2
relay-log-index=relay-bin-1.index
relay-log-info-file=relay-log-1.info
replicate-do-db=mytestdb
innodb_data_home_dir = /data/dbfile/1test
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/dbfile/1test
log-slave-updates

[mysqld2]
port = 3307
socket = /tmp/mysql.sock2
pid-file = /data/dbfile/file-2.pid
log-bin=mysql-bin-2
binlog_format=mixed
log-error=/data/dbfile/err-2.log

server-id = 2
master-host=192.168.1.1
master-user=testrep
master-password=rep123
master-port=3306
master-connect-retry=30
master-info-file=master-2.info
relay-log=relay-bin-2
relay-log-index=relay-bin-2.index
relay-log-info-file=relay-log-2.info
replicate-do-db=mytestdb
innodb_data_home_dir = /data/dbfile/2test
innodb_data_file_path=ibdata2:10M:autoextend
innodb_log_group_home_dir = /data/dbfile/2test
log-slave-updates

[mysqld_multi]模块说明--这个模块是必须的,否则mysqld多实例服务会起不来
其中4个选项分别指定mysqld的启动、管理位置,超级用户口令是mysqld_multi所需要的

[mysqld]模块--这个大家应该都很熟悉了实例
启动部分:[mysqld2]就是[mysqld1]的一个拷贝,区别于[mysqld1]的端口和文件
Slave部分:server-id等选项不要重复指定,每个[mysqld]Slave拥有自己的属性和文件

值得一提的是InnoDB部分,由于每个主服务器的ibdata、ib_logfile*基本是默认设置,所以Replicate过来后会交叉覆盖,这样会导致从服务器数据混乱。我们可以为每个实例配置InnoDB文件独立的存储位置来解决这一问题

启动/停止多实例
# /usr/local/mysql/bin/mysqld_multi start 1,2
# /usr/local/mysql/bin/mysqld_multi stop 1,2

查看每个实例是否都起来了
# ps aux|grep mysq l
我们可以看到四个相关进程,每个实例分别有两个进程

访问mysql
# mysql -uroot -p123456 -P3306
# mysql -uroot -p123456 -P3307

登录后我们发现show database会列出所有的数据库。没有关系,只有属于自己端口下的数据才可以访问,其他端口的会提示table does'nt exist!
[@more@]


对于多个mysqld实例进程我们建议使用服务来管理,就像service mysqld start一样
将源码包中/data/source/mysql-5.1.38/support-files/mysqld_multi.server.sh文件拷贝到启动目录下
# cp /data/source/mysql-5.1.38/support-files/mysqld_multi.server /etc/init.d/
mysqld_multi
# chmod +x /etc/init.d/mysqld_multi
# service
mysqld_multi start

启动/停止还有很多种方式
# /usr/local/mysql/bin/mysqld_multi --config-file=/etc/my.cnf --mysqld=/usr/local/mysql/bin/mysqld_safe start 1,2
# /usr/local/mysql/bin/mysqladmin shutdown 1,2

"MySQL多主一从的备份方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

服务 实例 服务器 文件 模块 部分 备份 就是 数据 端口 进程 配置 方法 位置 内容 拷贝 方式 更多 知识 管理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南永感互联网科技有限公司 厦门中拓互联网络科技有限公司 美国互联网科技巨头监管 甘肃拓世互联网科技有限公司 联恩商钥互联网科技有限公司 阿里互联网科技公司 互联网科技教育视频 茂名市互联网科技产业园 华服互联网科技官网 岳阳华臻互联网科技有限公司 阿大互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 2021互联网科技公司排名 广州富喜互联网络科技 福州德业互联网科技 承德科技产业互联网平台 现代科技的标志之一的互联网 恒生科技互联网指数十大成分股 广州全民伙伴互联网科技有限公司 华中科技大学互联网 重庆科技学院互联网 互联网科技类展会 湖南洣水互联网科技有限公司扣款 阿里巴巴算科技企业还是互联网 互联网科技革命什么开始 江阴互联网智能科技产品进口 速维有品互联网信息科技(苏州)有限公司 保山浩联互联网科技有限公司 利用互联网等科技手段
0