mysql数据库容灾实时备份主从
介绍:
随着互联网时代的发展数据对于一个企业来说越来越重要,各种安全策略进行备份,同步都应用而生,技术发展也逐渐走向成熟,虽然我们不能100%保证数据的安全,但是我们可以采用副本复制、备份的机制达到尽可能的让数据不丢失,将损失减少到最小,所以实时备份是非常有必要的。
一、mysql数据库备份参数及命令说明
1、server-id 服务器id (主从必须不一样)
2、log-bin 存放服务执行过的sql语句,可以自定义
3、replicate-do-db 指定需要记录那个数据库,作为同步数据库
4、innodb_file_per_table 修改表空间模式,一张表生成一个文件,mysql默认一个data表空间,性能极差
5、log_bin_trust_function_creators 开启支持创建函数function 语句,否则遇到函数同步报错
6、innodb_flush_log_at_trx_commit 设置提交事务或其他指令将数据强行写入磁盘,如果为1表示每一次提交事务将执行sql强行写入,最多丢失一个事务的数据
7、sync_binlog 刷新事务写入的次数,将数据丢失降到最低,与innodb_flush_log_at_trx_commit 组合使用
8、innodb_support_xa 支持分布式事务,确保事务写入bin_log 日志文件
9、log_slave_updates 用于控制把所有的操作动作指令写入bin_log 日志文件
二、部署主从服务器指令代码
a、主库配置:192.168.6.159,配置mysql中my.ini
server-id=1
log-bin=mysql-bin
replicate-do-db=abc
*****重启主库服务*****
b、从库配置:192.168.6.137,配置mysql中my.ini
server-id=2
log-bin=mysql-bin
replicate-do-db=abc
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
innodb_support_xa=1
log_slave_updates=1
*****重启从库服务*****
c、配置命令同步数据,先查看主库服务上的日志文件状态,
mysql show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | | |
+------------------+----------+--------------+------------------+
d、在从库连接主库命令,启动从库数据同步主库数据
change master to master_host=192.168.6.159,master_user=root,master_password=ysl,
master_log_file=mysql-bin.000001,master_log_pos=107;
————————————————————————————————————————————————————————————————————————————————————————
Query OK, 0 rows affected (2.55 sec)
启动从库服务
start slave;
查看命令是否连接成功,其中 Slave_IO_Running:Yes,Slave_SQL_Running:Yes 有表示连接成功
show slave status\G;
***********************以上内容就是单一的主从数据搭建完毕,数据库会定是同步,如果断开系统每隔1分钟自动连接**************
e、然后在添加一台服务器,将上面的从库作为主库继续同步到当前新加入的这台服务器中,只需要在当前新服务器上mysql配置my.ini
******此处有两种情况***********
a、如果你以前的从服务器已经开启日志记录,那么就不需要关闭192.168.6.137的同步服务,不用执行stop slave;
b、如果你没有配置开启二进制日志文件记录,就需要停止stop slave服务,然后备份数据,然后将192.168.6.137服务器开启日志,重新导入数据,生成二进制日志文件
1、配置内容:192.168.229.129
server-id=3
log-bin=mysql-bin
replicate-do-db=abc
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
2、重新启动mysql服务
3、执行连接192.168.6.137的服务器同步配置命令
change master to master_host=192.168.6.137,master_user=root,master_password=123456,
master_log_file=mysql-bin.000001,master_log_pos=107
4、启动服务,同步数据
start slave;
5、查看是否已经同步数据,其中 Slave_IO_Running:Yes,Slave_SQL_Running:Yes 有表示连接成功
show slave status\G;
[ MySQL ] 使用 MySQL Workbentch 进行MySQL数据库备份 / 还原(Part 3:备份.sql文件方式) 本文主要讲解如何用 MySQL Workbentch 进行MySQL备份和恢复数据库。 本文主要大纲为:使用Workbentch备份.sql文件的方式进行备份和还原,其中包括还原自身数据库和还原到其他目标库。
[ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式) 本文主要讲解如何用Navicat(Navicat Premium ,或者Navicat for mysql)进行MySQL备份和恢复数据库。 本文主要大纲为:使用Navicat备份.sql文件的方式进行备份和还原,其中包括还原自身数据库和还原到其他目标库。
[ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 1:备份.nb3文件方式) 本文主要讲解如何用Navicat(Navicat Premium ,或者Navicat for mysql)进行MySQL备份和恢复数据库。 本文主要大纲为:使用Navicat备份工具方式进行备份和还原,其中包括还原自身数据库和还原到其他目标库。
相关文章
- 【MySql】mysql 数据库数据订正
- 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入
- PHP中smarty与MYSQL数据库的连接
- 使用mysql-connector-python操作MYSQL数据库
- 笔记3:MySQL数据库
- MySQL忘记root密码--不重启mysqd重置root密码
- mysql审计插件-记录所有sql语句
- ajax结合mysql数据库和smarty实现局部数据状态的刷新
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- Mysql 如果有多个可选条件怎么加索引_MySQL|mysql-索引
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- 〖Python 数据库开发实战 - Python与MySQL交互篇①〗- MySQL Connector 驱动模块的连接语法
- MySQL数据库普通索引
- MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
- MySQL 新建用户,为用户授权,指定用户访问数据库
- MySQL(10)聚合查询、分组查询、分页查询
- 【MySQL笔记】Windows采用压缩包方式安装MySQL数据库服务
- MySql下载与安装-zip版本
- MySQL_14_用explain来定位并解决慢SQL问题
- 【MySQL数据库原理】数据库批量导入美团NLP分类数据集Meituan-Dianping/asap
- linux重置mysql数据库root密码
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档