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

阿里云发布网站网站关键词有哪些

阿里云发布网站,网站关键词有哪些,网站维护的要求,来个网站奖励自己文章目录数据备份mysqldump导出 CSV 文件物理备份三种备份方式对比数据如何恢复预防误删操作误删数据,如何恢复delete误删行drop/truncate table误删表优化binlog必须row格式的场景间隙锁delete...limit恢复数据主备复制使用按行复制临时表自增ID锁 innodb_autoinc_…

文章目录

    • 数据备份
      • mysqldump
      • 导出 CSV 文件
      • 物理备份
      • 三种备份方式对比
    • 数据如何恢复
      • 预防误删操作
      • 误删数据,如何恢复
      • delete误删行
      • drop/truncate table误删表
        • 优化
    • binlog必须row格式的场景
      • 间隙锁
      • delete...limit
      • 恢复数据
      • 主备复制使用按行复制
      • 临时表
      • 自增ID锁 innodb_autoinc_lock_mode=2

数据备份

mysqldump

源库生成insert…values()语句,到从库上执行插入

// 源库
mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info --single-transaction  --set-gtid-purged=OFF db1 t --where="a>900" --result-file=/client_tmp/t.sql
// 目标库
mysql -h127.0.0.1 -P13000  -uroot db2 -e "source /client_tmp/t.sql"

导出 CSV 文件

// 源库
select * from db1.t where a>900 into outfile '/server_tmp/t.csv';
// 目标库
load data infile '/server_tmp/t.csv' into table db2.t;

select…into outfile不会生成表结构文件,表结构单独用mysqldump导出

mysqldump -h$host -P$port -u$user ---single-transaction  --set-gtid-purged=OFF db1 t --where="a>900" --tab=$secure_file_priv

物理备份

create table t2 like t1; // 创建相同表结构的空表
alter table t2 discard tablespace; // 删除t2的.ibd文件(.ibd文件是用来存数据的)
flush table t1 for export; // 创建t.cfg文件
cp t1.cfg t2.cfg;cp t1.idb t2.ibd; // 拷贝文件
unlock tables; // 删除t1.cfg文件
alter table t2 import tablespace; // 将t2.ibd文件作为t2的新的表空间,那t2就有和t1一样的数据了

三种备份方式对比

  • mysqldump最简单,支持简单的where筛选,不支持join等复杂语句
  • select…into outfile最灵活,支持所有sql写法,但每次只能导出一张表数据,表结构需要单独备份
  • 物理拷贝最快,但只能全表拷贝,只能再服务器上拷贝,要求源库、目标库使用相同的而存储引擎

数据如何恢复

  • 数据库定期整库备份
  • binlog=row,binlog_row_image=FULL 用于恢复数据
  • 预防误删库:创建延时备库

预防误删操作

  • 账号分离,权限粒度最小

  • 规范操作

    删除表前先给表改名,比如该成固定后缀_to_be_deleted,观察一段时间没问题再删

    删库、表走OA

误删数据,如何恢复

恢复操作,不要直接在主库上改;先找个备库改好,确认没问题再切成主库。

delete误删行

Flashback(工具)闪回恢复,原理:应用binlog (delete语句改成insert语句)

事前预防:禁止不带where条件的删除语句 sql_safe_updates=on

drop/truncate table误删表

步骤:

  • 取最近一次全量备份,比如一天一备,恢复出一个当天0点的临时库

  • 在从binlog中取出0点后的日志,应用误删数据前的日志和误删数据后(找对应的GTID)的日志

    注意:mysqldump是单线程的、而且回放binlog时不仅只回放这个表而是全部,所以会比较慢

  • 在切成主库

优化
  1. mysqlbinlog -database 指定回放数据库,避免应用其他库的日志

  2. 利用从库并行复制能力

    将这个全量备份后的临时库设置成线上备库的从库。在start slave之前,先执行change replication filter replicate_do_table=(tbl_name),让临时库只同步误操作的表;这样也会用上从库的并行复制能力

    如果时间过了太久,线上备库没有完整的binlog,我们可以把缺的binlog从binlog备份中找到塞到线上备库里,然后建立主备关系

    塞进去方法:

    • 从备份系统找到缺失的文件,放到线上备库的日志目录下
    • 打开日志目录的master.index文件,在开头加上缺失文件的路径;重启备库 => 让备库重新识别两个日志文件

binlog必须row格式的场景

binlog主要用于主备同步,binlog=row 日志具体,可以进行数据恢复

间隙锁

在可重复读级别下有间隙锁,保证并发事务一致性。正读提交级别下,为保证并发数据插入顺序和日志回放数据一致,需要设置binlog=row,显示具体操作的哪行。

详见:mysql中的锁-CSDN博客的间隙锁部分

delete…limit

delete … limit 1 可能使用的索引不同,可能主备数据不一致,导致删除的行不同。通过binlog=row 明确删除哪行。这个binlog=mixed也可以做到。

binlog=mixed: 对会造成主备不一致的语句用row格式,其他用statement格式

恢复数据

flashback工具恢复误删行依赖于binlog=row,binlog_row_image=FULL

主备复制使用按行复制

主备复制使用按行复制模式需要binlog=row才知道行信息

详见:mysql 可用性的保障机制:主讲主从复制机制-CSDN博客的从库复制策略:按行分发worker

临时表

这点是差异,不是必须选binlog=row的原因

当事务使用临时表时,系统会在会话推出时在binlog中添加删除临时表的语句,不然从库binlog回放就没删。而binlog=row用的是对数据的具体操作,不会创建临时表,就不用管了。

自增ID锁 innodb_autoinc_lock_mode=2

为提高并发插入能力,可行的配置:innodb_autoinc_lock_mode=2(自增锁用完立即释放) + binlog=row(保证数据一致)。

详见:mysql中的自增ID-CSDN博客的innodb_autoinc_lock_mode

http://www.dtcms.com/wzjs/458287.html

相关文章:

  • 金华做网站的公司上海百度seo网站优化
  • 西安哪家做网站最好竞价托管代运营多少钱
  • wordpress首页怎么打开很慢沈阳seo整站优化
  • 在西安建设工程交易中心网站如何自建网站?
  • 公司网站开发费摊销百度官网下载电脑版
  • 网站建设空间和服务器方式长春网站建设制作
  • 摄影师网站制作整合营销网络推广
  • 昆明网站建设技术托管美国站外推广网站
  • 海安网站开发代刷网站推广链接0元价格
  • 定制网站为什么贵站长之家源码
  • 数码家电商城网站源码俄罗斯引擎搜索
  • 北京微网站app快推广app下载
  • 义乌网站建设发布平台有哪些
  • 建设传奇私服发布网站旅游搜索量环比增188%
  • 做网站的图片字虚网站代搭建维护
  • wordpress高并发厦门seo优化多少钱
  • wordpress png 压缩合肥seo整站优化网站
  • 国务院 门户网站建设要求营销策略方案
  • html网页模板素材下载seo和sem推广
  • 以下哪个单词表示搜索引擎优化郑州网站关键词优化外包
  • 婚纱摄影网站开发背景项目推广方式有哪些
  • 网页游戏网站哪个好torrentkitty磁力天堂
  • 网站商业授权福州短视频seo平台
  • c net做的网站广州seo外包
  • 万全做网站wl17581英语seo什么意思
  • 网站建设目录结构设计seo的主要工作内容
  • 山东思达建筑公司排名山西seo和网络推广
  • 网站模板系统网站快照优化公司
  • 广东网络公司网站建设seo推广哪家公司好
  • 宿迁网站建设公司网站排名优化工具