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

优秀音乐网站设计欣赏关于网站开发所需的知识

优秀音乐网站设计欣赏,关于网站开发所需的知识,企业网站功能清单,购物网站 后台生产上误删数据、误改数据的现象也是时常发生的现象#xff0c;作为运维这时候就需要出来补锅了#xff0c;最开始的做法是恢复备份#xff0c;然后从中找到需要的数据再进行修复#xff0c;但是这个时间太长了#xff0c;对于大表少数数据的修复来讲#xff0c;动作太大…  生产上误删数据、误改数据的现象也是时常发生的现象作为运维这时候就需要出来补锅了最开始的做法是恢复备份然后从中找到需要的数据再进行修复但是这个时间太长了对于大表少数数据的修复来讲动作太大成本也大。 当然还有其他的一些操作方法我们今天有主角。   MySQL 闪回工具 --   binlog2sql 用途 数据回滚主从切换后数据不一致的修复从 binlog 生成标准 SQL带来的衍生功能  闪回原理简析 开始之前先说说闪回。我们都知道 MySQL binlog 以 event 为单位记录数据库的变更信息这些信息能够帮助我们重现这之间的所有变化也就是所谓的闪回。 binlog 有三种可选的格式 statement基于 SQL 语句的模式binlog 数据量小但是某些语句和函数在复制过程可能导致数据不一致甚至出错mixed混合模式根据语句来选用是 statement 还是 row 模式row基于行的模式记录的是行的完整变化。安全但 binlog 会比其他两种模式大很多利用 binlog 做闪回需要将 binlog 格式设置为 row因为我们需要最详尽的信息来确定操作之后数据不会出错。 既然 binlog 以 event 形式记录了所有的变更信息那么我们把需要回滚的 event从后往前回滚回去即可。 回滚操作对于 delete 操作我们从 binlog 提取出 delete 信息反向生成 insert 回滚语句 对于 insert 操作反向生成 delete 回滚语句 对于 update 操作根据信息生成反向的 update 语句   竟然这么厉害   来实例演习下 主要测试 DML也就是 delete、update、insert 等操作的闪回效果。 但是DDL 语句比如drop,truncate 在整个使用中都是无法被回滚的这种情况只能用最近的备份数据二进制日志恢复 本次实验更改一条数据并删除一条数据然后从解析 binlog 信息到使用 binlog2sql 工具来生成标准和回滚 SQL来剖析整个运行过程。   一、准备工作 1.确定版本信息和binlog格式   mysql版本5.7.12      查看binlog格式的命令 mysql show variables like binlog_format; ---------------------- | Variable_name | Value | ---------------------- | binlog_format | ROW | ----------------------   2.安装binlog2sql工具     #随便安装在合适的服务器即可比如我在内网15安装了一个    安装参考链接http://note.youdao.com/noteshare?id85a90269a21d877962bfce0dfa40a90bsub71CD3E637F534AA1AFF129563F6A064E   3.在mysql的主服务器上创建闪回操作账号的权限  mysql GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO glon% identified by 123456;mysql show grants for glon%; -------------------------------------------------------------------------- | Grants for glon% | -------------------------------------------------------------------------- | GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO glon% | -------------------------------------------------------------------------- 1 row in set (0.00 sec)     4.初始化数据     CREATE TABLE edai_binlog2sql (id int(11) NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL, create_time datetime NOT NULL, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8insert into edai_binlog2sql (name,create_time) values (Glon Ho,2012-10-1),(Eason Chan, 2016-05-02),(Jacky Cheung, 2015-05-02);mysql select * from edai_binlog2sql; --------------------------------------- | id | name | create_time | --------------------------------------- | 4 | Glon Ho | 2012-10-01 00:00:00 | | 5 | Eason Chan | 2016-05-02 00:00:00 | | 6 | Jacky Cheung | 2015-05-02 00:00:00 | --------------------------------------- 3 rows in set (0.00 sec)   进行 update 和 delete 操作 mysql update edai_binlog2sql set create_time 2017-05-12 where name Glon Ho; Query OK, 1 row affected (0.05 sec) Rows matched: 1 Changed: 1 Warnings: 0mysql select * from edai_binlog2sql; --------------------------------------- | id | name | create_time | --------------------------------------- | 4 | Glon Ho | 2017-05-12 00:00:00 | | 5 | Eason Chan | 2016-05-02 00:00:00 | | 6 | Jacky Cheung | 2015-05-02 00:00:00 | --------------------------------------- 3 rows in set (0.00 sec)mysql delete from edai_binlog2sql where name Jacky Cheung; Query OK, 1 row affected (0.09 sec)mysql select * from edai_binlog2sql; ------------------------------------- | id | name | create_time | ------------------------------------- | 4 | Glon Ho | 2017-05-12 00:00:00 | | 5 | Eason Chan | 2016-05-02 00:00:00 | ------------------------------------- 2 rows in set (0.00 sec) 操作时候Glon Ho 的时间改变了而 Jacky Cheung 也被删除了。我们来看下mysql的binlog文件位置 mysql show master status; -------------------------------------------------------------------------------| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |-------------------------------------------------------------------------------| mysql-bin.000001 | 6159854 | | | |-------------------------------------------------------------------------------1 row in set (0.00 sec)     好的接下来使用binlog2sql工具   #这个工具我们安装在15服务器上的我们去15上操作 1解析出标准的SQL python binlog2sql.py -h192.168.1.21 -P30136 -uglon -p123456 -d xcrm -t edai_binlog2sql  --start-filemysql-bin.000001 edai_binlog2sql.sql 参数解释-h数据库服务地址-u连接用户名 -p密码-P端口 -d数据库名 -t表名 --start-file 通俗的来讲就是要解析sql的所在的binglog文件--flashback 闪回逆向解析sql语句   cat edai_binlog2sql.sql     可以看到几乎完美重现了我们上面执行过的 SQL而且生成的每个 SQL 后面都带有该语句在 binlog 中的 position 信息和该语句的执行时间。   2)解析想要回滚的SQL 比如我想回滚刚刚操作的edai_binlog2sql 后面两个update和DELETE操作 找到的时间节点就是start 6159262   end 6159823    #分析最好用pos分析这个可以更准确的定位到想要的  python binlog2sql.py  --flashback  -h192.168.1.21 -P30136 -uglon -p123456 -dxcrm -tedai_binlog2sql --start-filemysql-bin.000001 --start-position6159262    --stop-pos6159823 edai_binlog2sql-new.sql    [rootsoft binlog2sql]# cat edai_binlog2sql-new.sql INSERT INTO xcrm.edai_binlog2sql(create_time, id, name) VALUES (2015-05-02 00:00:00, 6, Jacky Cheung); #start 6159565 end 6159823 time 2018-11-22 15:16:30 UPDATE xcrm.edai_binlog2sql SET create_time2012-10-01 00:00:00, id4, nameGlon Ho WHERE create_time2017-05-12 00:00:00 AND id4 AND nameGlon Ho LIMIT 1; #start 6159262 end 6159534 time 2018-11-22 15:15:46   可以看到我们刚刚的delete语句被反转为insert语句update 修改为原来的时间 拿到了具体的恢复语句 那我们拿去数据库执行吧   好了完美搞定   转载于:https://www.cnblogs.com/tianfen/p/10001807.html
http://www.yutouwan.com/news/488221/

相关文章:

  • 网站设计h5wordpress首显示全文页
  • 菏泽做网站建设找哪家好管理软件开发平台
  • 如何创建网站教程深圳网站营销推广公司
  • 做好网站建设总结官网搭建
  • 域名怎么绑定自己网站怎样免费做游戏代理
  • 购物网站前台模板我想做个网站 详解怎么做
  • 网站建设规模百度做网站推广的费用
  • seo建站需求泵阀网站建设
  • 网站建设行业前景用自己电脑配置服务器做网站
  • 南阳网站推广方案游戏代理平台
  • 理财 网站模板 htmlwordpress 不能改邮箱
  • 网站推广的基本方法有哪些免费建网站
  • 网站建设方案报价加盟平台响应网站建设
  • 互联网招聘网站express做静态网站
  • 做视频网站的上市公司禁止WordPress访问官网
  • 中小企业网站建设教程官网下载软件
  • 合肥网站推广 公司网站 空间 备案
  • 做网站开发有前途么网站建设设计设计公司哪家好
  • 加强学校网站建设的要求wordpress无法创建配置文件
  • 域名备案和网站备案有什么不同天津建设网站免费
  • flash 学习网站微商如何做网站引流
  • 企业微信网站建设方案模板海淀做网站的网络公司
  • 网站构建设计思路jsp购物网站开发
  • .net网站做增删改网站建设的美图
  • 苏州沧浪做网站哪家好wordpress 调用百度地图
  • 网站怎么提交收录中装建设最新消息
  • 做移动端网站建筑工程网官方网站
  • 高端终端网站设计类网站微信小程序注册账号
  • 张家口网站建设费用佛山品牌策划设计
  • 县建设局 协会网站珠海市建设工程信息网