这篇文章主要介绍了关系型数据库遇到不小心误删表怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
测试环境:
5.6.33 和centos6.5
源码安装库一:
yum install “@开发工具”cmake ncurses-develop
百胜安装制造gcc-c cmake bison-develors-develop
wget http://101。110 .118 .23/发展MySQL。com/get/Downloads/MySQL-5.6/MySQL-5。6 .33 .焦油。地面零点
解压
焦油xf mysql-5.6.33.tar.gz
编译
cmake-DCMAKE _ INSTALL _ PREFIX=/usr/local/MySQL-DMYSQL _ DATADIR=/data/MySQL/data
制造
制作安装
授权
chown MySQL : MySQL/usr/local/MySQL-R
chown MySQL : MySQL/data/MySQL/data-R
建立配置文件
[root @ localhost data]# vim/etc/my。CNF
[客户]
端口=3306
socket=/var/lib/MySQL/MySQL。短袜
默认字符集=utf8
[mysqld]
端口=3306
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/var/lib/MySQL/MySQL。短袜
用户=mysql
[mysqld_safe]
log-error=/var/log/mysqld.log
PID-file=/var/run/mysqld/mysqld。PID
初始化
/usr/local/MySQL/scripts/MySQL _ install _ db-basedir=-/usr/local/MySQL-user=MySQL-ldata=/data/MySQL/data
也可以写成
/usr/local/MySQL/scripts/MySQL _ install _ db-defaults-file=/etc/my。CNF
启动:
/usr/local/MySQL/bin/MySQL d _ safe-defaults-file=/etc/my。CNF
进库建立测试库文件
1.修改/etc/my.cnf添加开启的二进制日志
对数斌=对数斌
2重启服务
3.建库
创建数据库测试默认值字符集utf8
4.建表
创建表a(id int(4),名称char(10))引擎=innodb
5.插入数据
插入雪崩(1,“t”)插入普通条。
6.删除
从电磁脉冲中删除;
7.启动第二个库
/usr/local/MySQL/bin/MySQL d _ safe-defaults-file=/etc/my server。CNF
8.查看binlog找到恢复点
在恢复过程中会出现/bin/mysqlbinlog:未知变量'默认字符集=utf8 '错误。
只要把配置文件中的注释掉,不用重启,因为此时mysqlbinlog会二次调用配置文件用完之后还原就好了。
/usr/local/MySQL/bin/MySQL binlog日志bin。00002测试2。原木
less test2.log
9.恢复到第二个库中
/usr/local/MySQL 3308/bin/MySQL bin log/data/MySQL/data/log bin。000002-stop-position=735 |/usr/local/MySQL 3308/bin/MySQL-uroot-h 227。0 .0 .一
上面发现恢复过来少了一条语句没关系采用下面
/usr/local/MySQL 3308/bin/MySQL bin log/data/MySQL/data/log bin。000002-开始位置=735 -停止位置=868 |/usr/local/MySQL 3308/bin/MySQL-uroot-h 227。0 .0 .一
上面注意了:恢复到点735 以及837是会丢失第三条4,t的数据的所以指定到删除操作的点上面868.
直接恢复。/bin/mysqlbinlog/data/MySQL/data/log bin。000002-stop-position=868 |/usr/local/MySQL 3308/bin/MySQL-uroot-h 227。0 .0 .1-p 3308
10.恢复到主库:
1、直接恢复
/usr/local/MySQL/bin/MySQL binlog-stop-position=868 |/usr/local/MySQL/bin/MySQL-uroot-h 227。0 .0 .一
2、把恢复的表单复制到相应的库文件下
未做
3、把恢复好的库导出,再复制重命名原来的库,恢复好的库导入之后再删之前那的已误操作的库
导出表
/usr/local/MySQL 3308/bin/MySQL dump-h 227。0 .0 .1-uroot-p 3308测试表示“不”默认-字符集=utf8 a.sql
原表复制-可能会很大建议原表重新命名
从a中创建表阿巴克作为选择*;
原表重新命名
将表a重命名为b;
导入表
/usr/local/MySQL/bin/MySQL-uroot-h227。0 .0 .1 a.sql/a.sql
感谢你能够认真阅读完这篇文章,希望小编分享的“mysql遇到不小心误删表怎么办"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/65144.html