论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Mysql
›
如何优雅的备份MySQL数据?看这篇文章就够了 ...
如何优雅的备份MySQL数据?看这篇文章就够了
我爱普洱茶
金牌会员
|
2022-10-10 12:22:22
|
显示全部楼层
|
阅读模式
楼主
主题
854
|
帖子
854
|
积分
2562
大家好,我是一灯,今天一块学习一下如何优雅安全的备份MySQL数据?
1. 为什么要备份数据
先说一下为什么需要备份MySQL数据?
一句话总结就是:
为了保证数据的安全性。
如果我们把数据只存储在一个地方,如果物理机器损坏,会导致数据丢失,无法恢复。
还有就是我们每次手动修改线上数据之前,为了安全起见,都需要先备份数据。防止人为的误操作,导致弄脏数据或弄丢数据。
2. 怎样备份MySQL数据?
想要快速简单粗暴备份MySQL数据,可以使用
mysqldump
命令:
# 备份test数据库
mysqldump -uroot -p test > backup.db
复制代码
但是这样备份的可能包含脏数据,比如在我们备份数据的过程中,有个下单的操作正在执行。
下单之后,还没有来得及扣款,就开始执行备份数据的命令,就会出现脏数据。
下单,保存订单表
备份数据
扣款
3. 怎么安全的备份数据?
mysqldump命令也提供了以事务的形式备份的参数:
# 开启一个事务备份test数据库
mysqldump -uroot -p --single-transaction test > backup.db
复制代码
开启事务后,会跟正常业务操作产生锁资源竞争,可能会阻塞其他的业务操作,严重的可能会导致服务宕机,所以备份操作尽量在业务低峰期执行。
还有一个问题,只有InnoDB引擎支持事务命令,对于不支持的事务MyISAM引擎,备份数据的时候怎么保证数据的安全性呢?
有一个粗暴的办法就是设置全库只读,禁止写操作,这样备份的时候不就能保证数据安全性啦。
先用命令查看一下数据库的只读状态:
show variables like 'read_only';
复制代码
OFF表示只读模式关闭,ON表示开启只读模式。
set global read_only=1;
复制代码
这样设置其实是非常危险的,如果客户端连接断开,整个数据库也会一直处于只读模式,无法进行写操作。
更推荐的办法是设置
全局锁 FTWRL(flush tables with read lock)
。
# 设置全局锁,禁止写操作
flush tables with read lock;
# 释放锁
unlock tables;
复制代码
设置全局锁之后,如果客户端断开,会自动释放锁,更安全。
4. 怎么恢复数据?
通过备份文件恢复数据也非常简单:
# 把备份文件数据导入到test数据库
mysqldump -uroot -p test < backup.db
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
我爱普洱茶
金牌会员
这个人很懒什么都没写!
楼主热帖
事务
KAFKA EAGLE 监控MRS kafka之操作实践 ...
初学Vue(全家桶)-第16天(vue-router ...
OpenHarmony轻量系统开发【1】初始Open ...
time.sleep(6)!华为AI生成图片发布会 ...
Java 中怎样将 bytes 转换为 long 类型 ...
Welcome to YARP - 8.分布式跟踪
Taurus .Net Core 微服务开源框架:Adm ...
大数据揭秘丨疫情影响下亚马逊女性夹克 ...
Python教程:高级特性
标签云
挺好的
服务器
快速回复
返回顶部
返回列表