广告
返回顶部
首页 > 资讯 > 数据库 >应该怎么样备份mysql
  • 645
分享到

应该怎么样备份mysql

2024-04-02 19:04:59 645人浏览 八月长安
摘要

本文主要给大家介绍应该怎么样备份Mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。    &n

本文主要给大家介绍应该怎么样备份Mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。                                                          

备份的目的:
    实现灾难恢复:误操作、硬件故障、软件故障、自然灾害、******
	
注意的要点:
    1、能够容忍丢失多少数据
    2、恢复数据所用的时间
    3、备份需要的时间
    4、是否对业务有影响
    5、备份时云服务器负载
	
	
备份类型
    完全备份:备份整个数据库的数据
    部分备份:备份指定的一部分数据
    增量备份:备份上一次备份后增加的数据
    差异备份:备份从最后一次完全备份后起发生改变的数据
    热备份:读写操作均可以进行
    温备份:只读
    冷备份:不可写,不可读
    逻辑备份:从数据库中导出数据,与存储引擎无关
    物理备份:直接复制数据文件
	

备份需要:
    数据
    二进制日志事务日志
    配置文件
	
	
备份的设计方案:
    数据:完全+增量、完全+部分
    备份手段:逻辑或物理


常用的备份工具:
    mysqldump:mysql自带的备份工具,逻辑备份、完全备份、部分备份、温备
    lvm2快照:几乎热备,需要借助cp,tar等工具完成,lvm2只负责生成快照
    xtrabackup:支持对InnoDB的热备份(物理备份
    tar,cp:冷备份


    mysqldump工具使用:逻辑备份工具,在数据小于1G时可以使用,数据大于1G之后则不建议使用
	
	mysqldump [OPTioNS] database [tables]	#不会自动创建数据库
	mysqldump [OPTIONS] --databases DB1 [DB2 ...]	#备份指定数据库,会自动创建数据库
	mysqldump [OPTIONS] --all-databases 	#备份所有数据库,会自动创建数据库
	    常用选项:
		-u			#用户
		-p			#密码
		--flush-logs 		#执行二进制日志文件滚动
		--single-transaction	#对InnoDB存储引擎进行热备份(只有InnoDB支持)
		--master-data=2	   #在数据文件中,记录备份那一刻二进制日志文件的位置,
				    并注释主要用于参考,多用于进行基于时间点还原
	        --lock-all-tables    #在执行备份时定所有库的所有表(二选一,必须)
		--lock-tables	    #对单个数据库在备份时锁定所有表(二选一,必须)
        例:mysqldump -uroot -p123.com --databases --lock-tables --flush-logs 
            --master-data=2 test > /tmp/mysql.back.`date "+%F__%R"`

	
	
    LVM2快照实现数据几乎热备
        实现条件:mysql数据存储在LVM逻辑卷中,需要有足够的空间做快照
	备份策略:    
	    1、创建全局锁
	        mysql> FLUSH TABLES WITH READ LOCK;
	    2、记录二进制日志文件及事件位置
	        mysql -uroot -p123.com -e 'FLUSH LOGS;'		#进行日志滚动
	        mysql -uroot -p123.com -e 'SHOW MASTER STATUS;'>/tmp/test.`date +%F`
	        	  #记录二进制日志位置
	    3、创建LVM快照
	        lvcreate -L 1GB -s -n test_snap /dev/vg_test/lv_test
	                -L 1G 		#快照大小,一般和数据文件差不多
	                -s    		#表示创建快照 
		        -n test_snap 	#快照名
			/dev/vg_test/lv_test 	#要创建快照的逻辑卷
	    4、释放全局锁
	        mysql> UNLOCK TABLES;
		    
	    5、挂载快照卷
	        mount /dev/vg_test/test_snap /mnt
		    
	    6、备份数据并删除快照卷
	        cp -a /mnt/date/mysql /tmp		#复制数据文件
	        umount /mnt				#卸载快照卷
	        lvremove /dev/vg_test/test_snap 	#删除快照
		    
	    7、制定好备份计划,每隔一段时间对二进制文件进行备份
	        每隔一段时间对mysql的二进制文件进行备份,以实现将来的基于时间点还原数据
	            例:cp -p /data/mysql-bin.000007 /tmp/mysql_7.sql	#备份二进制日志
				
	8、还原
            还原时只需要将数据文件复制到mysql的数据目录中,在使用二进制日志对数据进行时间点还原
		例:cp -a /tmp/mysql /data/mysql		#还原数据
		    mysql> source /tmp/mysql_7.sql;		#进行基于时间点的还原


	xtrabackup实现mysql热备:
	    注意:xtrabackup只能对InnoDB实现热备和增量备份
	    https://www.percona.com/downloads/XtraBackup/LATEST/	#下载地址
	    安装:
		1、配置好epel源
		2、yum -y localinstall percona-xtrabackup-2.3.2-1.el6.x86_64.rpm    #安装

		
	    备份工具:
		xtrabackup包含两个主要的工具,即xtrabackup和innobackupex
		innobackupex:是xtrabackup重封装的Perl脚本,能对innodb和myisam备份,
		                对myisam不能实现热备和增量备份
		xtrabackup:xtrabackup只能备份innodb和xtradb两种引擎的表,
		                而不能备份myisam引擎的表
			
			
		innobackupex基本使用
		    常用参数:
		        --help					#查看帮助信息
			--backup				#进行备份操作,可省,默认为执行备份操作
			--apply-log				#恢复前必须的整理工作
			--defaults-file			#指定配置文件路径,可省,会自动到数据库中读取
			--redo-only 			#在做整理操作时,未提交的数据不进行回滚,做增量备份恢复时必须加的选项
			--copy-back				#执行还原操作
			--incremental			#执行增量备份
			--user=name				#指定用户名,默认为root
			--host=name				#指定主机名,默认为host
			--port=					#指定端口,默认为3306
			--passWord=name			#指定密码,默认为空
			--databases='db1 bd2' 	#备份指定的数据库,
			--defaults-file=		#指定配置文件,可省
			--no-timestamp=			#自定义备份目录名
			incremental-basedir=	#基于那一次备份做增量备份
				
		
		
		
    使用实例:
	innodb_file_per_table=1	    #在mysql配置文件中添加,表示每个表使用单独的表空间文件
	datadir=/usr/local/mysql/data	#在mysql配置文件中添加,表示指定数据文件位置	
	mkdir /backups			#创建备份文件存放目录
			
    全库完全备份:
	innobackupex --user=root --password=123.com /backups/
		/backups/			#备份文件存放目录
		注意:结尾出现completed OK!则为成功,否则则为错误
		
		
		
    还原一个完全备份:
	innobackupex --apply-log /backups/2017-02-20_04-40-44/	#对备份文件进行整理
	innobackupex --copy-back /backups/2017-02-20_04-40-44/	#还原数据
	chown mysql:mysql /usr/local/mysql/*			#修改权限
				
		
		
    增量备份:
	innobackupex --user=root --password=123.com  --incremental /backups/ 
	            --incremental-basedir=/backups/2017-02-20_04-40-44/	    
            	/backups/		#增量备份存储位置
		--incremental-basedir	#指定基于哪一个备份文件进行增量备份,通常都是上一个增量备份
		
		
    增量备份还原:
        innobackupex --apply-log  --redo-only /backups/2017-02-20_05-01-49/	#整理完全备份
        innobackupex --apply-log  --redo-only /backups/2017-02-20_05-01-49
               --incremental-dir=/backups/2017-02-20_05-04-34	#整理第一个增量备份
        innobackupex --copy-back /backups/2017-02-20_05-01-49/	#还原数据
				
		
    部分备份:    
        innobackupex --databases="testdb mysql" /backups/ --user=root --password=123.com
        #备份testdb和mysql数据库,不管备份那个数据库都应该备份mysql数据库
				
    还原部分备份:
        innobackupex --apply-log /backups/2017-02-20_05-24-07/		#准备
        innobackupex --copy-back /backups/2017-02-20_05-24-07/		#还原
        chown mysql:mysql /usr/local/mysql/*				#修改权限				
				

	

看完以上关于应该怎么样备份mysql,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的数据库栏目的。

您可能感兴趣的文档:

--结束END--

本文标题: 应该怎么样备份mysql

本文链接: https://www.lsjlt.com/news/34762.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 应该怎么样备份mysql
    本文主要给大家介绍应该怎么样备份mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。    &n...
    99+
    2022-10-18
  • 应该怎么样备份与恢复mysql数据库
    下文主要给大家带来应该怎么样备份与恢复mysql数据库,希望这些内容能够带给大家实际用处,这也是我编辑应该怎么样备份与恢复mysql数据库这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库备份方...
    99+
    2022-10-18
  • 怎么样备份MySql数据库
    小编给大家分享一下怎么样备份MySql数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、数据备份捷径 因为这个方法没有得到...
    99+
    2022-10-18
  • 应该如何备份及还原mysql数据
    下面一起来了解下应该如何备份及还原mysql数据,相信大家看完肯定会受益匪浅,文字在精不在多,希望应该如何备份及还原mysql数据这篇短内容是你想要的。备份的不同分类:   &...
    99+
    2022-10-18
  • mysql的物理备份与逻辑备份是怎样的
    这期内容当中小编将会给大家带来有关mysql的物理备份与逻辑备份是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.物理备份(1)物理备份概念  &nbs...
    99+
    2022-10-18
  • 怎样实现Mysql 备份与恢复
    怎样实现Mysql 备份与恢复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。逻辑备份:1.mysqldump(数据导出工具)m...
    99+
    2022-10-19
  • MySQL中怎样实现自动备份
    本篇文章为大家展示了MySQL中怎样实现自动备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySql自动备份是非常关键的,特别是对于DBA来说。这里主要用代码来...
    99+
    2022-10-18
  • mysqlhotcopy备份报错该怎么解决
    mysqlhotcopy备份报错该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 问题:mysqlhotcopy备份...
    99+
    2022-10-19
  • Mysql中怎样实现备份与恢复
    本篇文章为大家展示了Mysql中怎样实现备份与恢复,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 mysqldump 备份整个 dump -u root -p...
    99+
    2022-10-18
  • binlog 备份是怎么样的
    本篇文章给大家分享的是有关binlog 备份是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 binlo...
    99+
    2022-10-19
  • MySQL密码该怎么备忘
    这篇文章将为大家详细讲解有关MySQL密码该怎么备忘,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在windows下: 打开命令行窗口,停止mysql服务:...
    99+
    2022-10-19
  • xtrabackup 8备份Mysql 8.0.18的过程是怎么样的
    这篇文章给大家介绍xtrabackup 8备份Mysql 8.0.18的过程是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、首先 在mysql8里先建了一个稍微大一点的测试...
    99+
    2022-10-18
  • mysql怎么进行备份
    这篇文章主要介绍“mysql怎么进行备份”,在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么进行备份”的疑惑有所帮...
    99+
    2022-10-18
  • mysql怎么备份数据
    这篇文章主要讲解了“mysql怎么备份数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql怎么备份数据”吧!mysqldump -u[user] -...
    99+
    2022-10-18
  • MySQL怎么增量备份
    本篇内容主要讲解“MySQL怎么增量备份”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL怎么增量备份”吧!添加自动任务每小时或者更短时间执行就好了#!/bin/sh#author&nbs...
    99+
    2023-06-27
  • 怎样进行mysqldump备份
    怎样进行mysqldump备份,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysqldump最近用到mysql的dump导库...
    99+
    2022-10-19
  • MYSQL中的备份恢复手段是怎样的
    这期内容当中小编将会给大家带来有关MYSQL中的备份恢复手段是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.冷备份停库,备份# which mysqladmin...
    99+
    2022-10-18
  • 利用脚本应该如何备份Mysql数据库和binlog日志
    下面一起来了解下利用脚本应该如何备份Mysql数据库和binlog日志,相信大家看完肯定会受益匪浅,文字在精不在多,希望利用脚本应该如何备份Mysql数据库和binlog日志这篇短内容是你想要的。闲话少说,...
    99+
    2022-10-18
  • mysql xtrabackup在windows平台的备份测试是怎么样的
    mysql xtrabackup在windows平台的备份测试是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 ...
    99+
    2022-10-19
  • mysql怎么备份数据库
    mysql怎么备份数据库?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql怎么备份数据库1.进入mysql客户端连接数据库2.选择需要备...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作