扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文主要给大家简单讲讲数据库备份 mysqldump讲析,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔数据库备份 mysqldump讲析主题吧,希望可以给大家带来一些实际帮助。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站制作、海城网络推广、微信小程序开发、海城网络营销、海城企业策划、海城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供海城建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com======从物理,逻辑角度========
物理备份:对数据库操作系统的物理文件的备份(数据文件、日志文件)
方法:
冷备份:在关闭数据库的时候进行
热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件
逻辑备份:对数据库逻辑组件的备份
======从数据库的策略角度======
完整备份:
优点:简单方便
缺点:数据存在大量的重复
占用大量的备份空间
备份时间长
差异备份:基于上一次完整备份后面多的内容进行备份
物理备份:
yum install xz -y
tar Jcvf /opt/mysql-$(date+%F).tar.xz /usr/local/mysql/data/
#备份当时的mysql数据文件形成压缩文件到opt下面的压缩包
mysqldump 命令对单个库进行完全备份【但是不会有create创建的语句】
保存表结构的话要加-d
mysqldump -u用户 -p密码 数据库名 > 保存的文件路径,文件类型为sql
举例:#备份名为school的数据库到/opt/取名为school.sql
mysqldump -uroot -pabc123 school > /opt/school.sql #mysqldump –uroot用户 -p密码 数据库名school > /opt/school.sql
=======恢复数据,导回数据========
方法一:
需要提前创建数据库school
mysql -uroot -pabc123 school < school.sql
方法二:
mysqldump -uroot -pabc123 --databases school > school.sql
无需提前创建数据库school
mysql -uroot -pabc123 < school.sql
方法三
首先进入数据库,备份一份数据,
drop删除的表
source 之前备份数据的文件路径,结尾不用加;
多个数据库备份:
mysqldump -uroot -p --databases数据库名称1 数据库名称2 > /opt/文件名.sql
完整性数据库备份
备份所有的数据库结构:
mysqldump -u用户名 -p --all-databases > 保存文件路径 文件类型sql
备份一份完整的数据库文件:
mysqldump -u用户名 -p --databases 数据库名 > 保存文件路径 文件类型sql
保存数据库中的表的内容备份:
mysqldump -u用户名 -p 数据库名表名 > 保存文件路径 文件类型sql
增加 增量备份的刷新语句【前提是一定已经提前完成完整性备份,再刷新语句,输入刷新语句后,前面的增量操作会导入上一个二进制日志节点中】
[root@client~]#mysqladmin -uroot -pabc123 flush-logs
[root@client~]# mysqlbinlog --no-defaults –base64-output=decode-rows -v /opt/bak_sql/mysql-bin.000001 #查看二进制日志文件,使用64位解码才能查看到命令语句。
恢复改正有误操作的增量备份数据时:两种方法基于时间的和 基于位置点
1.基于时间点恢复数据:
场景举例:首先产生了误操作之后进行了增量备份,删除这个误操作的数据表后,恢复数据时。
首先恢复之前备份的完整性备份,然后查看增量备份的二进制文件,
查找到错误的操作命令上面的时间点复制粘贴,然后输入命令 :
mysqlbinlog --no-defaults --stop-datetime='2018-09-03 15:31:56' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123
查找到下一条正确的操作命令上面的时间点复制粘贴,然后输入命令:
mysqlbinlog --no-defaults --start-datetime='2018-09-03 15:32:16' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123
2.基于位置点:误操作的位置点是:at 887
场景举例:首先产生了误操作之后进行了增量备份,删除这个误操作的数据表后,恢复数据时。
首先恢复之前备份的完整性备份,然后查看增量备份的二进制文件,
查找到错误操作的上一次可以操作执行的位置点: at 833 ,输入命令:
mysqlbinlog --no-defaults --stop-position='833' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123
查找到错误操作的下一次可以操作执行的位置点: at 930 ,输入命令:
mysqlbinlog --no-defaults --start-position='930' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123
========退出mysql,操作mysql=====
导回之前备份的路径,执行命令(可以不进入数据库的进行命令操作)
mysql -uroot -p 数据库 < 之前备份的文件路径
不用进入数据库就可以进行的操作:需要加-e
举例语法:mysql -u用户 -p密码 -e ‘use 数据库;show databases;’
增量备份,恢复数据库的时候需要先恢复原先的完整性备份,然后再输入命令
[root@client~]#mysqlbinlog --no-defaults mysql-bin.000002 | mysql -uroot -p
PS:当你想要恢复增量备份的时候,只有先恢复之前的完整性备份后,输入增量备份的刷新语句之后,再恢复000002节点的增量备份
数据库备份 mysqldump讲析就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流