mysql 多主一从备份_MySQL 多主一从数据备份

MySQL 多主一从数据备份

概述

对任何一个数据库的操作都自动应用到另外一个数据库, 始终保持两个数据库中的数据一致.

这样做有如下几点好处:

可以做灾备, 其中一个坏了可以切换到另一个.

可以做负载均衡, 可以将请求分摊到其中任何一台上, 提高网站吞吐量. 对于异地热备, 尤其适合灾备.

MySQL 主从复制的方式

Master 数据库操作的任何数据库的时候, 都会将操作记录写入到 biglog 日志文件当中

Slave 数据库通过网络获取到主数据库的日志文件, 写入本地日志系统 , 然后一条条的将数据库事件在数据库中完成

Slave 重做中继日志中的事件, 将 Master 上的改变反映到它自己的数据库中, 所以两端的数据是完全一样的.

ab7653affab982b574eb7acc55df2e04.gif

环境

操作系统: CentOS

MySQL 版本: MySQL-5.6.26 (主从两者数据库版本必须保持一致)

Master1 配置

1 开启 binlog 日志功能VIM/etc/my.cnf

server-id=6

log-bin=MySQL-bin

2 重启 MySQL 登陆并授权MySQL-uroot-p123456

grant replication slave,replication client on*.*to'repl'@'10.211.55.7'identifiedby'123456';

ip 地址为 slave 服务器的 ip 地址

3 查看日志状态

show master status;

Master2 配置

1 开启 binlog 日志功能VIM/etc/my.cnf

server-id=8

log-bin=MySQL-bin

2 重启 MySQL 登陆并授权MySQL-uroot-p123456

grant replication slave,replication client on*.*to'repl'@'10.211.55.7'identifiedby'123456';

ip 地址为 slave 服务器的 ip 地址

3 查看日志状态

show master status;

Slave 配置

1 修改配置文件 (注意 slave 的默认数据库启动的端口必须关闭 service MySQL stop)VIM/etc/my.cnf

[mysqld]

binlog-ignore-db=MySQL

binlog_format=mixed

expire_logs_days=7

slave_skip_errors=1062

relay_log=MySQL-relay-bin

log_slave_updates=1

[mysqld_muliti]

mysqld=/usr/bin/mysqld_safe

mysqladmin=/usr/bin/mysqladmin

user=root

password=123456

[mysqld6]

port=3306

datadir=/home/MySQL/data6

pid-file=/home/MySQL/data6/MySQL.pid

socket=/home/MySQL/data6/MySQL.sock

user=MySQL

server-id=7

[mysqld8]

port=3307

datadir=/home/MySQL/data8

pid-file=/home/MySQL/data8/MySQL.pid

socket=/home/MySQL/data8/MySQL.sock

user=MySQL

server-id=7

2 初始化生成目录/usr/local/MySQL/scripts/mysql_install_db--user=MySQL--basedir=/usr/local/MySQL--datadir=/home/MySQL/data6&

/usr/local/MySQL/scripts/mysql_install_db--user=MySQL--basedir=/usr/local/MySQL--datadir=/home/MySQL/data8&

3 修改目录权限chown-RMySQL/home/MySQL/data6

chown-RMySQL/home/MySQL/data8

4 启动服务mysqld_multi--defaults-file=/etc/my.cnf start6

mysqld_multi--defaults-file=/etc/my.cnf start8

5 登录测试 (并分别做授权)MySQL-P3306-S/home/MySQL/data6/MySQL.sock

MySQL>change master to master_host='10.211.55.6',master_user='repl',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120;

MySQL>start slave;

MySQL-P3307-S/home/MySQL/data8/MySQL.sock

MySQL>change master to master_host='10.211.55.8',master_user='repl',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120;

MySQL>start slave;

ok 就这样 完成了

来源: http://www.bubuko.com/infodetail-2879015.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值