
1、首先构建测试环境数据create table t1(a varchar(10),b varchar(10))insert into t1 values('1','1')insert into t1 values('2','2')commit。
2、模拟误修改,将t1表中的b字段更新为错误数据 "123456"update t1 set b='123456' where a='1'commitselect * 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、得到了误删除的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数据库恢复方法:方法一:
命令恢复数据库:
mysql -u root –password=root密码 数据库名 <备份文件.sql
方法二:
第一步:用管理员权限登录并进入后台管理界面,点“数据库->资料恢复”。
第二步:在数据恢复设置中选择“从本地文件”进行恢复,然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。
第三步:点“提交”按钮后将出现询问“分卷数据成功导入数据库,需要自动导入本次其他的备份吗?”一般继续点“确定”按钮即可。之后的数据库文件就完全导入到当前网站了。这时出现再次要求输入管理员帐号的提示。访问网站地址时也会看到所有信息都恢复到备份数据库时的内容了。
小提示:
不管采取哪种方式备份和恢复数据库,一定要注意备份和恢复时使用的版本要相同,甚至是语言种类也要一致,否则会存在乱码的问题。
一、Mysql数据库备份指令格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 >文件名.sql
注:直接cmd执行该指令即可,不需要先mysql -u root -p链接数据库
1、备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename >backupfile.sql
2、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename >backupfile.sql
二、数据库还原有三种方式:source命令、mysql、gunzip命令
1、source 命令
进入mysql数据库控制台,
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/work/db/bkdb.sql
2、mysql
mysql -hhostname -uusername -ppassword databasename <backupfile.sql
3、gunzip
gunzip <backupfile.sql.gz | mysql -uusername -ppassword databasename
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)