把mysql表删了怎么 mysql表数据删除了能还原么

mysql不下心吧数据库表删了怎么办啊1 找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):
拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧
2 试着启动mysql服务 , 如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;
如果不能启动,看错误日志 , 争取启动了 。
3 赶紧把数据备份一份出来 , 重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了 , 重新导入一遍 。理论上不这样也可以,但只是非生产重要的环境下 。
4 重新做用户授权 。
mysql误删除一个表,可以恢复吗1、首先构建测试环境数据create table t1(a varchar(10),b varchar(10));insert into t1 values('1','1');insert into t1 values('2','2');commit; 。
2、模拟误修改把mysql表删了怎么,将t1表中的b字段更新为错误数据 "123456"update t1 set b='123456' where a='1';commit;select * from t1; 。
3、将恢复工具上传到服务器并进行解压 。unzip binlog2sql-master.zip 。
4、得到误修改时的binlog文件(show binary logs;),实验环境是mysql-bin.000011 。
5、通过 binlog2sql.py 脚本的到所有 对表 t1 的修改操作 。python binlog2sql.py -hlocalhost -P23307 -ubinlog2sql -p'binlog2sql' -dtest -tt1 --start-file='mysql-bin.000011' 。
6、得到把mysql表删了怎么了误删除的sql的准确位置在1382-1615之间,使用 _**-B**_ 选项生成回滚sql 。python binlog2sql.py -hlocalhost -P23307 -ubinlog2sql -p'binlog2sql' -dtest -tt1 --start-file='mysql-bin.000011' --start-position=1382 --stop-position=1615 -B 。
7、执行得到的回滚语句进行误操作恢复 。就完成了 。
mysql 数据库表误删除了 能恢复吗每个 DBA 是不是都有过删库的经历?删库把mysql表删了怎么了没有备份怎么办?备份恢复后无法启动服务什么情况?表定义损坏数据无法读取怎么办?
我曾遇到某初创互联网企业把mysql表删了怎么 , 因维护人员不规范的备份恢复操作把mysql表删了怎么,导致系统表空间文件被初始化 , 上万张表无法读取,花了数小时才抢救回来 。
当你发现数据无法读取时,也许并非数据丢失了 , 可能是 DBMS 找不到描述数据的信息 。
背景
先来了解下几张关键的 InnoDB 数据字典表,它们保存了部分表定义信息,在我们恢复表结构时需要用到 。
SYS_TABLES 描述 InnoDB 表信息CREATE TABLE `SYS_TABLES` (`NAME` varchar(255) NOT NULL DEFAULT '',表名`ID` bigint(20) unsigned NOT NULL DEFAULT '0',表id`N_COLS` int(10) DEFAULT NULL,`TYPE` int(10) unsigned DEFAULT NULL,`MIX_ID` bigint(20) unsigned DEFAULT NULL,`MIX_LEN` int(10) unsigned DEFAULT NULL,`CLUSTER_NAME` varchar(255) DEFAULT NULL,`SPACE` int(10) unsigned DEFAULT NULL,表空间idPRIMARY KEY (`NAME`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_INDEXES 描述 InnoDB 索引信息CREATE TABLE `SYS_INDEXES` (`TABLE_ID` bigint(20) unsigned NOT NULL DEFAULT '0', 与sys_tables的id对应`ID` bigint(20) unsigned NOT NULL DEFAULT '0',索引id`NAME` varchar(120) DEFAULT NULL,索引名称`N_FIELDS` int(10) unsigned DEFAULT NULL, 索引包含字段的个数`TYPE` int(10) unsigned DEFAULT NULL,`SPACE` int(10) unsigned DEFAULT NULL,存储索引的表空间id`PAGE_NO` int(10) unsigned DEFAULT NULL,索引的root page idPRIMARY KEY (`TABLE_ID`,`ID`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_COLUMNS 描述 InnoDB 表的字段信息CREATE TABLE `SYS_COLUMNS` (`TABLE_ID` bigint(20) unsigned NOT NULL, 与sys_tables的id对应`POS` int(10) unsigned NOT NULL,字段相对位置`NAME` varchar(255) DEFAULT NULL,字段名称`MTYPE` int(10) unsigned DEFAULT NULL,字段编码`PRTYPE` int(10) unsigned DEFAULT NULL, 字段校验类型`LEN` int(10) unsigned DEFAULT NULL,字段字节长度`PREC` int(10) unsigned DEFAULT NULL, 字段精度PRIMARY KEY (`TABLE_ID`,`POS`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;SYS_FIELDS 描述全部索引的字段列CREATE TABLE `SYS_FIELDS` (`INDEX_ID` bigint(20) unsigned NOT NULL,`POS` int(10) unsigned NOT NULL,`COL_NAME` varchar(255) DEFAULT NULL,PRIMARY KEY (`INDEX_ID`,`POS`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;./storage/innobase/include/dict0boot.h 文件定义了每个字典表的 index id,对应 id 的 page 中存储着字典表的数据 。

推荐阅读