mysqlbackup在线配置Mysql主从架构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 前言: MYSQL数据库很多情况下都是用于搭建电商平台,电商平台就意味着为公司赚钱的平台,必须24小时在线的;我们也搭建了属于自己的电商平台,但是最近反应需要增加一台从库来缓解主库的读取压力。
  1. 前言:

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

  • mysqldump搭建,该方法很简单,但是操作的过程中需要锁表,并停止应用。该方法适合系统未上线时操作,新手可以搭建用于学习;(http://blog.itpub.net/12679300/viewspace-1315062/)
  • Xtrabackup搭建,该方法需要了解Xtrabackup工具的备份还原,可以实现在线搭建主从架构。

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

 

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

以下是详细的整理步骤:

数据库

主机名

IP地址

同步用户

备份位置

主数据库

Mysql01

192.168.47.152

server01

/backup

从数据库

Mysql02

192.168.47.151

 

 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]

Copyright (c) 2003, 2014, Oracle and/or its affiliates. All Rights Reserved.

   

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 mysqlbackup: INFO: Copy-back operation starts with following threads

        1 read-threads 1 write-threads

mysqlbackup: INFO: Could not find binlog index file. If this is online backup then server may not have started with --log-bin.

        Hence, binlogs will not be copied for this backup. Point-In-Time-Recovery will not be possible.

141118 16:19:35 mysqlbackup: INFO: Copying /backup/datadir/ibdata1.

141118 16:19:37 mysqlbackup: INFO: Copying the database directory 'john'

141118 16:19:37 mysqlbackup: INFO: Copying the database directory 'mysql'

141118 16:19:37 mysqlbackup: INFO: Copying the database directory 'performance_schema'

141118 16:19:37 mysqlbackup: INFO: Completing the copy of all non-innodb files.

141118 16:19:37 mysqlbackup: INFO: Copying the log file 'ib_logfile0'

141118 16:19:37 mysqlbackup: INFO: Copying the log file 'ib_logfile1'

141118 16:19:39 mysqlbackup: INFO: Creating server config files server-my.cnf and server-all.cnf in /data/mysql

141118 16:19:39 mysqlbackup: INFO: Copy-back operation completed successfully.

141118 16:19:39 mysqlbackup: INFO: Finished copying backup files to '/data/mysql'

 

3.2 进行授权,并打开数据库

[root@mysql02 data]# chmod -R 777 mysql

[root@mysql02 data]# service mysqld start

Starting MySQL [确定]

 

3.3 从库连接到主库

mysql> CHANGE MASTER TO MASTER_HOST='mysql01',MASTER_USER='server01',MASTER_PASSWORD='server01', MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=107;

 

3.4 启动从库服务

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

   

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: mysql01

Master_User: server01

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000005

Read_Master_Log_Pos: 1082

Relay_Log_File: mysql02-relay-bin.000003

Relay_Log_Pos: 253

Relay_Master_Log_File: mysql-bin.000005

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: john

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 1082

Relay_Log_Space: 1532

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

1 row in set (0.00 sec)

 

3.5 经过以上检查主从同步已经没有问题了,需要再验证相应的表数据;

mysql> select * from wzq;

+-------+

| name |

+-------+

| qiang |

| wu |

| zhi |

| 1 |

| 2 |

| 3 |

+-------+

8 rows in set (0.00 sec)

  1. 总结过验证通过msyqlbackup搭建主从的数据库,可以实现不停机进行搭建,整个过程也是挺简单的,但是是在测试环境中进行的,真正的生产环境还要再考虑详细的步骤。

*********************************************************************************************************************

本文作者:JOHN QQ:1916066696 (请备注数据库)

ORACLE技术博客:ORACLE 猎人笔记 http://blog.itpub.net/12679300/

请扫描加微信号!

********************************************************************************************************************

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
1天前
|
关系型数据库 MySQL 数据库
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
|
2天前
|
Java 关系型数据库 流计算
实时计算 Flink版操作报错合集之配置cats进行从MySQL到StarRocks的数据同步任务时遇到报错,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
119 0
|
2天前
|
SQL 关系型数据库 MySQL
MySQL Workbench的安装与配置
MySQL Workbench的安装与配置
|
2天前
|
关系型数据库 MySQL 数据库
MySQL数据库的安装与配置
MySQL数据库的安装与配置
|
3天前
|
SQL 监控 关系型数据库
实时计算 Flink版产品使用问题之使用mysql cdc配置StartupOptions.initial()全量之后就不增量了,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
存储 算法 关系型数据库
【MySQL技术内幕】2.3-InnoDB体系架构
【MySQL技术内幕】2.3-InnoDB体系架构
9 1
|
6天前
|
关系型数据库 MySQL 数据库
Mysql—8.0.21下载安装配置教程
该教程介绍了MySQL的下载与安装步骤。建议从官网下载MySQL 8.0及以上版本,也可通过提供的百度网盘链接获取。解压后,在指定目录创建my.ini配置文件,并替换basedir和datadir为自己实际的安装路径。接着,将MySQL安装目录的bin文件夹添加到系统环境变量Path中。以管理员模式运行CMD,进入bin目录,使用`mysqld --initialize --console`初始化数据库,记下生成的临时密码。最后,用`net start mysql`启动服务,`mysql -u root -p`登录并使用ALTER指令修改初始密码。
72 1
|
8天前
|
运维 关系型数据库 MySQL
Serverless 应用引擎产品使用合集之如何配置MySQL的白名单IP
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
SQL 缓存 NoSQL
MySQL架构与SQL的执行流程_2
MySQL架构与SQL的执行流程_2
118 0
MySQL架构与SQL的执行流程_2