`
ponlya
  • 浏览: 164316 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Mysql 备份恢复 调优

 
阅读更多

Mysql 备份与恢复
mysqldump,ibbackup,replication

备份分:
Hot Backup(热备)    在线备份,对DB无影响
Cold Backup(冷备)    停止时备份,简单,拷贝物理文件,离线备份
    frm数据库文件,共享表空间文件,独立表空间ibd文件,重做日志文件的备份 。   DBA脚本备份,并打包与压缩。
Warm Backup(温备)    DB运行时备份,对DB操作有影响,会加一个全局读锁来保证备份数据的一致性。

逻辑备份是指备份文件内容是可读的,通常是文本文件,内容一般为SQL语句,可表的实际数据,如mysqldump和select * into OUTFILE。用于数据库升级,迁移,恢复时间较长。
    mysqldump --all-databases > file_name ;备份所有数据库
    mysqldump --databases db1 db2 db3 >dbs.sql ;备份指定的库
    mysqldump --single-transaction test>test_backup.sql; 对test架构进行备份。
    select * into OUTFILE ;多用于导出表的数据;
    select * into outfile 'xxxx' from a;    恢复时用  load data infile 'xxx' into table a;
   
    恢复
    mysql -uroot -p<test_backup.sql
    source  ....xxx.sql
   
    mysql 可以导出存储过程,触发器,事件,数据,但是不能导出视图。
   
祼文件备份,指拷贝数据库物理文件,DB可在运行或者停止状态。

完全备份    完整备份
增量备份    在上次完全备份的基础上对更新数据进行备份。
日志备份    对二进制日志备份。它的replication原理就是异步实时进行二进制日志重做。

[mysqld]
log-bin        开启二进制
sync_binlog=1
innodb_support_xa=1

要恢复二进制日志简单 
mysqlbinlog binlog.000001 | mysql -uroot -p test
mysqlbinlog binlog.[0-10]* | mysql -uroot -p test 恢复多个

mysqldump中通过添加 -single-transaction选项来取得一致性备份。备份是在一个很长的事务中执行的。

根据自己的策略编写一个备份的应用程序,可以方便地设置备份的方法及监控备份的结果,且可通过第三方接口实时通知DBA,这样可做到24*7的备份监控。
DAO(Database Admin Online)系统,DBA可对几百台mysql数据库服务器进行备份,监控,硬件,发生问题时飞信接口第一时间通知。 python语言,Django WEB页面 。
任何时候需要做好远程备份。
 
ibbackup  高性能热备方式
XtraBackup GPL2 免费  linux
LVM(Logical Volume Manager,GNU/Linux 逻辑卷管理器)对磁盘分区管理,可将多个磁盘分区建立一个卷组(Volume Group),成为统一的结构。再做LVM快照,非常快。

数据分布   复制不需要太多的带宽。
读取负载平衡   多个从服务器,通过DNS的Round-Robin和Linux的LVS实现负载均衡;
复制对备份很有帮助,但是不是备份,不能完全代替备份;通过复制建立的从有助于故障转移,减少故障的停机时间与恢复时间。
但是担心主上对数据的误操作,这时从也跟着处理了,这种情况无法处理。需要对从进行快照处理。从服务器上可以设置权限。


调优
1.选择合适的CPU;
    OLTP 对CPU要求不高,复杂的查询需要的比较,排序,连接等耗CPU操作少。OLAP是CPU密集型的操作。OLTP是I/O密集型操作。
2.内存重要;
    Percona 的Vadim 对内存的影响作了比较,内存大小最能直接反映数据库的性能。2GB->22GB 缓冲池的增大,性能极大提升。
    mysql> show global status like 'innodb%read%';\G
    +---------------------------------------+---------+
    | Variable_name                         | Value   |
    +---------------------------------------+---------+
    | Innodb_buffer_pool_read_ahead_rnd     | 0       |
    | Innodb_buffer_pool_read_ahead         | 0       | 从物理磁盘预读的次数
    | Innodb_buffer_pool_read_ahead_evicted | 0       | 预计的页,但是没有被读取就从缓冲池中被替换的页的数量,一般用来判断预读的效率
    | Innodb_buffer_pool_read_requests      | 6592    | 从缓冲池中读取页的次数
    | Innodb_buffer_pool_reads              | 396     |    从物理磁盘读取页的次数
    | Innodb_data_pending_reads             | 0       |
    | Innodb_data_read                      | 8671232 |  总共读入的字节数
    | Innodb_data_reads                     | 408     |  发起读取请求的次数,每次读取可能需要读取多个页。
    | Innodb_pages_read                     | 395     |
    | Innodb_rows_read                      | 0       |
    +---------------------------------------+---------+
        通常缓冲池的命中率不应该小于99%。即使缓冲池的大小大于数据库文件大小,也并不意味着无磁盘读写了。缓冲池只用来存放热点数据。
        缓冲池的命中率 = Innodb_buffer_pool_read_requests/(Innodb_buffer_pool_read_requests+Innodb_buffer_pool_read_ahead +Innodb_buffer_pool_reads )
        平均每次读取的字节数=Innodb_data_read/Innodb_data_reads
       
3.硬盘对数据库性能影响;
    当前大多为传统的机械硬盘,此技术十分成熟,SAS或SATA接口硬盘。二个指标:寻道时间与转速。3ms的最短寻道时间,15000 rpm。最大问题是读写磁头。
    随机访问会耗费长时间的磁头旋转和定位来查找,因此顺序的速度远高于随机访问 。  RAID提高数据库的性能,数据文件分布不同硬盘上达到负载均衡。
    固态硬盘,基于闪存,低延迟低功耗与防震,TB级别存储方案,无磁善头。闪存中数据是不可以更新的,只能通过扇区的覆盖重写,在处理前需要耗时的擦除操作。
    闪存的读写是非对称的,读远远快于写。
4.合理地设置RAID;
    RAID:增强数据集成度,增强容错功能,增加处理量或容量。
    RAID 0 :合并硬盘,无冗余,并行 I/O,速度最快。 如一个磁盘损坏,则所有数据丢失。
    RAID 1 :二组以上N个磁盘互为镜像,性能最高,主硬盘损坏时,镜像硬盘代替工作。数据安全性最高,但是磁盘利用率最低。
    RAID 5 :存储性能,数据安全和存储成本兼顾的解决方案。用Disk Striping(磁盘分区)技术。至少要三个硬盘。不备份,而是存储奇偶校验信息和数据分别存储不同硬盘,用剩下的数据及奇偶校验来恢复。
        与RAID0有相同的读速度,但是因奇偶较验,故写入慢。用write Back(将写入的数据放入自身的缓存中)可提高性能。
5.操作系统也很重要;
    OS,注意windows不区分大小写,而linux区分; 系统对内存的支持。
6.不同文件系统对数据库影响;   
    windows NTFS,Solaris ZFS,Linux EXT3/4等。
7.选择合适的基准测试工具。
    sysbench(CPU性能,磁盘IO性能,调度程序性能,内存分配及传输速度,POSIX线程性能,OLTP基准测试)

分享到:
评论

相关推荐

    MySQL性能调优与架构设计.mobi

    全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema...

    MySQL性能调优与架构设计.pdf

    全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema...

    MySQL性能调优与架构设计

    综上所述,MySQL性能调优与架构设计涉及了数据库的多个层面,包括查询优化、索引管理、存储引擎选择、资源调度、高可用架构设计、监控与告警、备份恢复和安全策略。这些知识的掌握和应用对于任何使用MySQL的企业都至...

    分析MySQL复制以及调优原理和方法

    5. **安全与备份**:定期备份主库,确保在异常情况下的数据恢复能力。 MySQL复制提供了强大的数据冗余和扩展性,但在实际应用中需要根据业务需求和系统状况进行细致的调优,以确保系统的稳定性和效率。通过理解复制...

    MySQL性能调优与架构设计 简朝阳.扫描版

    8. **备份与恢复**:有效的备份策略能保证数据安全,而快速的恢复机制则能在系统故障后迅速恢复服务。 9. **性能监控与分析**:使用工具如pt-query-digest、MySQL Enterprise Monitor等进行性能监控和问题诊断,是...

    MySQL性能调优与架构设计-简朝阳

    最后,对于MySQL的维护和升级,书中可能也有所涉及,比如如何进行安全备份和恢复,如何平滑地进行版本升级,以及如何应对突发的大流量挑战。 总的来说,《MySQL性能调优与架构设计》是一本全面讲解MySQL数据库优化...

    MySQL5.1性能调优与架构设计.mobi

    ●基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识 ●性能优化篇从影响MySQL数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如MySQL Schema设计的技巧,...

    MySQL性能调优与架构设计(中文版)

     第 5章 MySQL备份与恢复  5.0 引言  5.1 数据库备份使用场景  5.2 逻辑备份与恢复测试  5.3 物理备份与恢复测试  5.4 备份策略的设计思路  5.5 小结 第2篇 性能优化篇  第6章 影晌MySQL Server...

    mysql调优与性能设计

    同时,良好的备份策略和故障恢复计划也是保障系统稳定性的必要措施。 总的来说,"mysql调优与性能设计"这个资源涵盖了从SQL优化、配置调整、架构设计到监控分析的全方位知识,对于想要提升MySQL性能的专业人士来说...

    MySQL性能调优与架构设计 - 简朝阳.rar_MySQL性能调优与架构设计简朝阳

    《MySQL性能调优与架构设计》是简朝阳先生的一部深度解析MySQL数据库性能优化与架构构建的专业著作。这本书深入探讨了MySQL在实际应用中的各种性能问题,并提供了有效的解决策略,同时对MySQL的架构设计进行了全面的...

    MySql调优.pdf

    MySQL数据库调优涉及多个方面,包括数据库架构、系统架构、常用工具以及存储引擎的理解。以下是对这些知识点的详细说明: 1. 数据库架构与调优: - **日志文件**:MySQL的日志系统对于故障恢复和复制至关重要。...

    mysql性能调优与架构设计--全册 .rar_SPF7_mysql 性能调优_架构优化

    11. **复制与备份**:数据复制用于故障恢复和高可用性,备份则是防止数据丢失的重要手段。了解并掌握相关策略和工具(如Mysqldump, Xtrabackup等)是数据库管理的重要部分。 12. **垂直拆分与水平扩展**:当单个...

    MySQL性能调优与架构设计--全册

    12. **云环境下的MySQL**:在云计算环境中,了解如何配置和优化MySQL,以适应动态扩展和缩容,以及如何利用云服务的备份和恢复功能。 13. **性能调优最佳实践**:遵循最佳实践,如定期分析和优化数据库,避免在...

    MySQL管理之道 性能调优、高可用与监控

    本书由资深MySQL专家撰写,以最新的MySQL版本为基础,以构建高性能MySQL服务器为核心,从故障诊断、表设计、SQL优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、MySQL高可用集群搭建与管理、MySQL服务器...

    mysql性能调优讲解

    - **备份策略**:制定合理的备份恢复策略,防止数据丢失。 - **安全防护**:加强数据库的安全防护措施,避免非法访问造成性能下降。 #### 十、总结 MySQL性能调优是一个复杂的系统工程,涉及到数据库本身的多个...

    MySQL性能调优与架构设计(PDF)

    全书共分3 篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL ...

Global site tag (gtag.js) - Google Analytics