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;
相关文章
- 数据科学家“恐怖故事”
- TalkingData战略投资奥维互娱,赋能OTT行业跨时代演进
- 爬取两万多租房数据,告诉你广州房租现状
- Hive实践分享之存储和压缩的坑
- Spark 静态内存管理详解
- 中数经纬CEO林道进:运用智慧大数据 助力海南大发展
- 大数据和人工智能的未来将殊途同归
- 还在抱怨Pandas运行速度慢?这几个方法会颠覆你的看法
- 新零售风口之下,大数据及人工智能有哪些应用?
- 我爬取分析美团网,原来北京上海Top10美食是它们
- 大数据和人工智能成战略性新兴专业
- 世界各主要国家及组织的大数据战略
- 大数据处理基本过程
- 全年盘点:2018年炙手可热的10家大数据初创公司
- 大数据处理的关键技术及应用
- 大数据时代,区块链在数据安全领域有什么样的表现?
- Splunk宣布与全新的Amazon Web Services Security Hub集成
- 高手总结的15个技巧,让你轻松玩转数据可视化!
- 想成为数据科学家?先做到这6点吧!
- Commvault荣膺2018年Gartner Peer Insights“数据中心备份和恢复解决方案”客户最佳选择奖