首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL从删库到跑路(一)——MySQL数据库简介

MySQL是一个关系型数据库管理系统,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性。...   H、提供用于管理、检查、优化数据库操作的管理工具    I、可以处理拥有上千万条记录的大型数据库 3、MySQL应用 与大型数据库例如Oracle、DB2、SQL Server等相比,MySQL...二、MySLQ存储引擎 1、MySQL存储引擎简介 插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据库,是否使用事务等。...mySQL默认支持多种存储引擎,以适应不同领域的数据库应用需要。...MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具,是著名的数据库设计工具DBDesigner4的继任者。

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql从删库到跑路 基于mysql8 MYD MYI SDI数据库恢复

    Mysql是最常见的关系数据库,因开源和免费被广泛使用。如果当我们数据库误删后,在没有备份的情况下如何恢复数据库呢?...image.png Mysql8.0数据库恢复 环境 Windows Linux Mysql8.0.12 PHP7.4 Dzx3.4 故障描述 有网友联系我,说自己的dz站不小心删库了!...在查阅一番后,知道了自Mysql8.0后,当用户创建了数据库后,会在MySQL8.0.12\data目录下产生相应的恢复文档,用于后期的恢复!当然Mysql之前的版本也有这个功能,但是文件格式变了!...文件 说明 XXX.sdi 表结构文件 XXX.MYD 数据文件 XXX.MYI 索引文件 我们可以利用这三个文件完成对数据库的恢复 image.png 删库恢复测试 1.我们首先创建一个数据库bbskali...image.png 7.重启数据库,就可以看到数据已恢复! Dz3.4删库恢复 基于上面的恢复策略,我们可以去恢复误删的dz的数据库。

    3K30

    MySQL - 删库了,但是很慢

    在 mysql 上执行了一句 drop database 半天没有完成,详细的慢查询日志如下,那当时MySQL 在做什么呢?...如果我们从 linux 内核层面看,还是可以发现 mysql 这个时候在执行哪些函数的;从而达到更加细粒度的确认 MySQL 在做什么,进而回答 drop database 为什么慢。...可以看到在删库时调用的是 mysql_rm_db 这个函数,而这个函数又调用了 mysql_rm_table_no_locks 函数,mysql_rm_table_no_locks 会去清理数据字典。...那删库为什么会慢呢?回答这个问题还需要更加深入地分析才行。 ---- OFF-CPU 如果一个进程所依赖的所有资源都已经准备好,那它就可以被调度到 cpu 上执行。...我在分析清理文件的时候发现 vfs 并没有 rm_file 这样的 API ,而是采用“以写代删” 的方式来完成删除操作; 也就是说操作系统并不直接去删除文件,而是把文件系统里面对应的 inode 标记为

    2.4K20

    删库跑路?这篇文章教你如何使用xtraback备份MySQL数据库

    最大的缺陷就是备份和恢复的速度都慢,对于一个50G的数据库而言,这个速度还是可以接受的,但是如果数据库非常大,那在使用mysqdump备份就不是太合适了。。...至此全备完全成功,然后向mysql某个库插入几条数据,然后进行增量备份 对完全备份的后数据库更改进行二进制日志增量备份: 查看完全备份时binlog日志位置(position): ?... > /opt/mysqlbackup/inc/`date +%F`.sql  备份完成后,我们模拟数据库损坏,误删操作,如下 [root@master ~]# rm -rf /usr/local/mysql...如: # chown -R mysql:mysql /usr/local/mysql/data/  重启mysql服务查看是否还原成功 ?...停止mysql数据库-开始rsync数据文件 [root@master ~]# systemctl stop mysqld   [root@master ~]# cd /opt/mysqlbackup

    63510

    【MySQL系列】- binlog预防删库跑路

    . ❞ 翻译:二进制日志包含描述数据库更改的“事件”,如表创建操作或表数据更改。...说白了就是二进制日志记录了对 MySQL 数据库执行更改的所有操作,若操作本身没有导致数据库发生变化,该操作可能也会写入二进制文件。...这些事件使数据库从备份点更新,数据将变化恢复到指定的时间点(Point-in-time)。...主从复制(replication):主数据库向从数据库发送binlog到从数据库,从数据库执行和复制binlog从而将数据恢复到从数据库中。...审计(audit):用户可以通过二进制日志中的信息来进行审计,判断是否有对数据库进行注入的攻击。 binlog的格式 MySQL有好3种格式记录binlog,具体的格式取决于MySQL数据库的版本。

    82730

    【玩转腾讯云】使用数据库Mysql如何避免删库跑路(数据丢失)

    生产环境使用数据库最怕的就是数据丢失了,下面针对各种数据丢失场景展开。 场景一:人为操作引起,包括:故意的删库跑路、手抖误操作。...所以不要用云服务器自建数据库,而是直接使用云数据库,云数据库已经把这些都做好了,没必要去把别人踩过的坑再踩一遍。 做好监控,第一时间发现事故。...同样的,我们不能假设腾讯云可靠性达到100%,需要考虑腾讯云出故障了、腾讯云dba删库跑路、或者某个潜藏的bug未来某个时段爬起来删库。...比如:现在(2020-04-18),腾讯云就有安全漏洞,web用户可以通过销毁/退货+立即下线将主实例、相关的只读实例、灾备实例、自动冷备文件全部删掉(删1个冷备文件是无法操作的,删全部数据却可以操作)...,而且整个过程不会发出短信或邮件通知,如果web帐号泄露或者dba恶意报复公司,就可以通过销毁/退货+立即下线删库跑路。

    7.7K3326

    MySQL中drop和delete删用户场景

    关于用户创建的文章,之前写过几篇《MySQL创建用户提示1396》《小白学习MySQL - 不同版本创建用户的些许区别》。 碰巧看到技术社群的这篇文章《同样是删用户,为啥还有差别?》...在MySQL当中,对于删除用户的操作大家并不陌生,先来看看问题, # 创建用户testuser01 mysql> create user 'testuser01'@'%' identified by '...接着往下看, # 再次删除用户testuser01 mysql> delete from mysql.user where user = 'testuser01'; Query OK, 1 row affected...mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) # 创建用户testuser01成功 mysql> create user '...分析  还是回到这条语句上,这条语句是创建一个用户'testuser01'@'%',在MySQL当中,这条语句在执行器执行时,大致上看成对mysql库的user表插入一条记录,既然是表,大可以先查查看,

    22020

    删库不跑路:论MySQL数据恢复

    如果没有备份文件,那么删掉库表后就真的删掉了,lsof 中还有记录的话,有可能恢复一部分文件,但若刚好数据库没有打开这个表文件,那就只能跑路了。...IMPORT tablespace; 加载表空间 执行 flush table t_innodb;check table t_innodb; 检查表 使用 mysqldump 导出数据,然后再导入到要恢复的数据库...删除表 b 后的数据库状态 chgnqm-3306>>show tables; +------------------+ | Tables_in_mytest | +------------------...@mysql-test ~]$ mysql -S /tmp/mysql.sock < backup_inc_1.sql [mysql@mysql-test ~]$ mysql -S /tmp/mysql.sock...是由美团点评公司技术工程部开发维护的一个回滚 DML 操作的工具,项目链接 MyFlash 限制: binlog格式必须为row,且 binlog_row_image=full 仅支持5.6与5.7 只能回滚DML(增、删、

    1.6K20

    删库不必跑路!详解 MySQL 数据恢复

    但是,如果每次删库都跑路的话,怕是再也不好找工作了吧!所以,删库跑路不是上上策。 1、前言 数据恢复的前提的做好备份,且开启 binlog,格式为 row。...但若刚好数据库没有打开这个表文件,那就只能跑路了。如果没有开启 binlog,那么恢复数据后,从备份时间点开始的数据都没了。...IMPORT tablespace; 加载表空间; 执行 flush table t_innodb;check table t_innodb; 检查表; 使用 mysqldump 导出数据,然后再导入到要恢复的数据库...删除表 b 后的数据库状态: chgnqm-3306>>show tables; +------------------+ | Tables_in_mytest | +----------------...限制: binlog 格式必须为 row,且 binlog_row_image=full; 仅支持5.6与5.7; 只能回滚 DML(增、删、改)。

    1.3K30

    临近五一,小林我删删删删库了,要跑路吗?

    心里慌的一批的小林,跟我的朋友们说了这件事,朋友建议我先第一时间上报给 leader,不要把删库的事情瞒着。 于是,小林就向 leader 说了我删库事情,本以为会被痛批一顿。...不过你这么一整,我突然想起编译服务器半年没备份,我先备份一下我的编译服务器,防止哪天也被你们删库了。” 我:“????” 吃瓜的小伙伴,是不是觉得小林要删库跑路了?...哈哈哈,小林没跑路,反而是恢复了回来,所以接下来说说小林是如何「从删库到恢复」的。 正文 初探案发现场 来看看小林写的垃圾代码,是如何引发这次的删库。 ?...所幸重要的数据库信息和文件都还没删除,所以小林首要的目标是要恢复 /bin、/boot、/dev、/lib 这四个目录。...遇到 rm -fr /* 删库事件发生,一定要沉住气,稳住心态 本次删库事件,之所以小林能幸运的恢复回来,有非常关键两点: 小林发现脚本执行不正常,果断立马的掐断它,没有造成重要的数据库信息被删除,如果掐断的时候再晚一点

    2.7K20

    MySQL从删库到恢复,还用跑路吗?

    备份 MySQL 中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑。...在 MySQL 中,可以使用 mysqldump 工具来完成逻辑备份: // 备份指定的数据库或者数据库中的某些表 shell> mysqldump [options] db_name [tables...]> insert into test values (4,'d'); Query OK, 1 row affected (0.00 sec) 3.数据库突然故障(其实是小伙伴没事儿删库练手玩儿),数据无法访问...需要恢复备份: 删库跑路: # 这里为了便于测试,不把删库操作记入日志,当前 session 设置 sql_log_bin 为 off。...# 删库后,执行 flush logs,让后续的 binlog 到新的文件中,即名为 mysql-bin.000003中 MySQL [t2]> set sql_log_bin = 0; Query OK

    1.3K50

    MySQL从删库到跑路_高级(三)——视图

    视图包含一系列带有名称的数据列和数据行,但视图中的数据并不真实存在于数据库中,视图返回的是结果集。...2、创建视图的目的 视图是存储在数据库中的查询的SQL语句,创建视图主要出于两种原因: A、实现安全。视图可设置用户对视图的访问权限。...C、视图对重构数据库提供了一定程度的逻辑独立性 数据的物理独立性是指用户的应用程序不依赖于数据库的物理结构。...数据的逻辑独立性是指当数据库重构造时,如增加新的关系或对原有的关系增加新的字段,用户的应用程序不会受影响。层次数据库和网状数据库一般能较好地支持数据的物理独立性,而对于逻辑独立性则不能完全的支持。...在关系数据库中,数据库的重构造往往是不可避免的。重构数据库最常见的是将一个基本表“垂直”地分成多个基本表。

    1.2K10
    领券