mysqlbackup在线配置MySQL主从架构(一)

2015-01-21 12:22:54 · 作者: · 浏览: 11

前言:


MySQL数据库很多情况下都是用于搭建电商平台,电商平台就意味着为公司赚钱的平台,必须24小时在线的;我们也搭建了属于自己的电商平台,但是最近反应需要增加一台从库来缓解主库的读取压力。网上百度了很多相关的方法,总结如下:


Xtrabackup搭建,该方法需要了解Xtrabackup工具的备份还原,可以实现在线搭建主从架构。


MySQL一直推荐的企业版的MySQL备份工具:MySQLbackup,抱着学习的心态就在测试环境中通过MySQLbakcup工具来搭建主从架构;


在进行以下操作之前,需要先进行以下两个设置:主库和备库的参数文件已经修改完成、在主库上面创建主从连接用户;


以下是详细的整理步骤:


2 主库的操作步骤


2.1 对主库进行全备,脚本如下


mysqlbackup --user=root --password --backup-dir=/backup backup-and-apply-log


备份的目录为/backup,请确认这个目录的存在;


2.2 记录这个时候主库的binlog状态?


mysql> show master status;?


+------------------+----------+--------------+------------------+?


| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |?


+------------------+----------+--------------+------------------+?


| mysql-bin.000003 | 107 | | |?


+------------------+----------+--------------+------------------+?


1 row in set (0.00 sec)
?


2.3 为了验证主从是没有问题的,这个时候可以往主库的某个数据库插入数据,然后再记录状态?


mysql> show master status;?


+------------------+----------+--------------+------------------+?


| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |?


+------------------+----------+--------------+------------------+?


| mysql-bin.000003 | 500 | | |?


+------------------+----------+--------------+------------------+?


1 row in set (0.00 sec)


2.4 把备份从主库拷贝到从库?


[root@mysql01 backup]# service iptables stop?


iptables:清除防火墙规则: [确定]?


iptables:将链设置为政策 ACCEPT:filter [确定]?


iptables:正在卸载模块: [确定]?


root@mysql01 backup]# scp bak.tar root@mysql02:/backup/*?


Warning: Permanently added the RSA host key for IP address '192.168.47.151' to the list of known hosts.?


root@mysql02's password:?


bak.tar 100% 69MB 23.1MB/s 00:03?


需要先关闭防火墙?


3.从库的操作步骤
3.1 进行从库的恢复?


[root@mysql01 backup]# mysqlbackup --defaults-file=/backup/server-my.cnf --datadir=/data/mysql --backup-dir=/backup/ copy-back?


MySQL Enterprise Backup version 3.11.0 Linux-3.8.13-16.2.1.el6uek.x86_64-x86_64 [2014/08/26]?


? ?


mysqlbackup: INFO: Starting with following command line ...?


mysqlbackup --defaults-file=/backup/server-my.cnf --datadir=/data/mysql?


--backup-dir=/backup/ copy-back?


? ?


mysqlbackup: INFO:?


IMPORTANT: Please check that mysqlbackup run completes successfully.?


At the end of a successful 'copy-back' run mysqlbackup?


prints "mysqlbackup completed OK!".?


? ?


141118 16:19:35 mysqlbackup: INFO: MEB logfile created at /backup/meta/MEB_2014-11-18.16-19-35_copy_back.log?


? ?


--------------------------------------------------------------------?


Server Repository Options:?


--------------------------------------------------------------------?


datadir = /data/mysql?


innodb_data_home_dir = /data/mysql?


innodb_data_file_path = ibdata1:10M:autoextend?


innodb_log_group_home_dir = /data/mysql/?


innodb_log_files_in_group = 2?


innodb_log_file_size = 5242880?


innodb_page_size = Null?


innodb_checksum_algorithm = none?


? ?


--------------------------------------------------------------------?


Backup Config Options:?


--------------------------------------------------------------------?


datadir = /backup/datadir?


innodb_data_home_dir = /backup/datadir?


innodb_data_file_path = ibdata1:10M:autoextend?


innodb_log_group_home_dir = /backup/datadir?


innodb_log_files_in_group = 2?


innodb_log_file_size = 5242880?


innodb_page_size = 16384?


innodb_checksum_algorithm = none?


? ?


mysqlbackup: INFO: Creating 14 buffers each of size 16777216.?


141118 16:19:35 mysq