当前位置: 首页 > news >正文

网站子站怎么做、app开发用什么软件

网站子站怎么做、,app开发用什么软件,公司网站的seo优化怎么做,自己怎样制作网页数据备份和恢复 什么情况下会用到数据备份呢 数据丢失的场景 人为误操作造成的某些数据被误操作 软件BUG造成数据部分或者全部丢失 硬件故障造成数据库部分或全部丢失 安全漏洞被入侵数据恶意破坏 非数据丢失场景 基于某个时间点的数据恢复 开发测试环境数据库搭建 相同数据库的…

数据备份和恢复

什么情况下会用到数据备份呢

数据丢失的场景

  • 人为误操作造成的某些数据被误操作
  • 软件BUG造成数据部分或者全部丢失
  • 硬件故障造成数据库部分或全部丢失
  • 安全漏洞被入侵数据恶意破坏

非数据丢失场景

  • 基于某个时间点的数据恢复
  • 开发测试环境数据库搭建
  • 相同数据库的新环境搭建
  • 数据库或者数据迁移

既然数据备份如此重要,那么如何进行数据备份呢?

主要有逻辑备份和物理备份两个方向

逻辑备份与对应的恢复

逻辑备份是比较简单的,也是中小型系统中最常用的备份方式,主要有两种方式,一种是将数据生成可以完全重现当前数据库中数据的insert语句;另一种就是将数据通过逻辑备份软件,将数据库表数据以特定分隔符进行分隔记录在文本文件中

生成insert语句备份

使用mysqldump可以来实现生成insert语句的逻辑备份文件

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

mysqldump的参数选项很多


  --add-drop-database 在create database之前先执行drop database
  
  -E, --events        备份事件
 
  -x, --lock-all-tables  锁住所有数据库下的所有表
                      
  -l, --lock-tables   在备份中,锁住所有的表,备份时只能进行读取操作,一般用于Myisam,INNODB一般使用                 --single-transaction
  --master-data[=#]   当value为1时,转储文件中记录change master语句,当value为2时,change master语句被注释,默认为空
  
  -R, --routines      备份函数和存储过程
  
  --single-transaction  只对innodb有效,保证获得备份的一致性,但是并不能隔离DDL语句的操作,ALTER TABLE,              DROP TABLE, RENAME TABLE,TRUNCATE TABLE
                
  -T, --tab=name      产生tab分割的数据文件
  --triggers          备份触发器
  -w, --where=name    导出给定条件的数据
  

不过为了保证数据库中的数据一致,就需要进行一下特殊处理,两种方式都可

第一种方式:保证在同一事务里备份

使用--single-transaction选项,可以保证备份过程在同一个事务中,而且可以不影响数据库的任何正常服务

第二种方式:数据库不在有其他新的操作

这种方式就是将所需要备份的表锁住,只允许读不允许写,可以使用--lock-tables--lock-all-tables来进行锁表操作,执行结束后会自动释放锁定

对于--lock-tables选项并不会一次性将所有需要备份的表都锁定,而是每次仅仅锁定一个数据库的表,所以如果需要备份多个数据库的表,要使用--lock-all-tables来进行锁表,才能确保数据的完全一致性

恢复方式

可以使用source命令来进行数据恢复

source /tmp/backup.sql

也可以使用mysql命令行来进行恢复

mysql <backup.sql
生成特定格式的纯文本备份

这种备份方式比insert命令文件相比,占用的存储空间更小,但是在同一个备份文件中不能存在多个表的备份数据

mysql中提供两种方式来实现这种备份文件

第一种方式

使用select ... into outfile from ...来实现

示例

select * from user into outfile '/tmp/dump.txt' 
fields terminated by ',' -- 表示每列的分隔符
optionally enclosed by '"'  -- 对于字符串的包含符
lines terminated by '\n'

第二种方式

依然使用mysqldump来实现

mysqldump -uroot -T/temp/dump test user --fields-enclosed-by=\" --fields-terminated-by=,
恢复方式

由于该方式是按照每个表来进行备份的,所以恢复起来也需要每张表来进行恢复

有两种方式来进行恢复

第一种方式

使用load data infile命令,只能导入一张表

示例

load data infile '/tmp/user.txt' into table user fields terminated by ',' enclosed by '"'

第二种方式

使用mysql提供的mysqlimport来进行恢复,可以导入多张表,使用--user-threads参数可以并发导入多个文件

示例

mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" fields-terminated-by=, /tmp/user.txt
mysqlimport --user=name --password=pwd test --user-threads=2 --fields-enclosed-by=\" fields-terminated-by=, /tmp/user.txt /tmp/student.txt

物理备份与对应的恢复

物理备份就是对数据库的物理对象所做的备份,数据库的物理对象主要由数据库的物理数据文件、日志文件以及配置文件等组成,由于不同的存储引擎存储的文件也不同,所以对于不同的存储引擎备份的文件也有所不同

MyISAM存储引擎

存储表结构元数据的.frm文件,存储表数据的.MYD文件,存储索引数据的.MYI文件

mysql提供了mysqlhotcopy来备份MyISAM存储引擎的数据

mysqlhotcopy db_name [./table_regex/] [new_db_name | directory]

该命令会先lock住表,然后执行flush tables动作,该正常关闭的表正常关闭,该fsync的数据都fsync,然后通过执行OS级别的复制命令,将需要备份的表或数据库的所有物理文件都复制到指定的备份集位置

Innodb存储引擎

Innodb中存放数据位置的配置有innodb_data-home-dirinnodb_data_file_pathinnodb_log_group_home_dirinnodb_file_per_table

分为热备份和冷备份

  • 冷备份:数据库处于关闭状态

  • 热备份:数据库处于运行状态,热备份不停机进行备份,可以使用xtrabackup工具

https://zhhll.icu/2021/数据库/关系型数据库/MySQL/进阶/27.数据备份和恢复/

本文由 mdnice 多平台发布

http://www.tj-hxxt.cn/news/129664.html

相关文章:

  • 网站开发需要经费么上海优化公司有哪些
  • 网络推广速成班优化课程
  • 网站上面的水印怎么做的网络推广网站公司
  • 医院建设网站要求分析 amp北大青鸟软件开发培训学费多少
  • 禹城市住房和城乡建设局网站搜狗seo软件
  • 招聘网站开发策划方案个人网站该怎么打广告
  • 十堰门户网站建设百度网页推广
  • 外贸网站系统今日头条官方正版
  • ps为什么做不了视频网站新闻播报最新
  • 多个网站备案负责人百度搜索引擎推广
  • 银川市做网站的公司百度如何免费推广
  • 注册安全工程师报名时间seo网络推广经理招聘
  • 门窗网站建设免费网站推广软件下载
  • 一家做特卖的网站手机版网站注册查询
  • 成都网站建设新网创想百度统计手机app
  • 怎么用自己的电脑做网站服务器凌云seo博客
  • 网站建设需要服务器么雅虎日本新闻
  • 基于java技术的网站开发短视频搜索优化
  • 做房地产行业的怎么做网站吉林seo网络推广
  • php网站后台上传不了图片百度搜索关键词数据
  • 网站设置会员怎么在百度上发帖推广
  • 魅影看b站直播可以吗手机网站优化及推广方案
  • 手机版自适应网站怎么做sem竞价是什么意思
  • 企业网站建设要注意网站联盟推广
  • 常用网站域名百度排行榜小说
  • 昆明医院网站建设百度服务商平台
  • 甘肃省人民政府最新任免网站优化有哪些类型
  • 服务器如何搭建网站爱站网关键词挖掘工具站长工具
  • 公司建设网站制作海外网络推广方案
  • 网站设计目标 优帮云网站权重等级