讲述一个mysql 数据库恢复的实例
技术百科
零下一度
发布时间:2017-05-03
浏览: 次 前一段时间由于误把 xen server 服务器电源拔掉(~~!!),导致xen server 上的 虚拟机 zabbix 数据库出错,虽然不是很重要(用来监控公司内网网关服务器),但是监控一年的数据不能就这么没了,想到zabbix数据库还有备份的sql 文件与mysql 二进制日志文件,尝试下恢复mysql 数据库,成功并且恢复的过程非常简单!
#详细步骤
#1 记住误删除表(或者出错)的时间 例如 Oct 17 08:30:27 CST 2011
#2 先 drop database zabbix ;
再 create database zabbix;(或者跳过直接执行第3步)
#3 导入备份的sql文件
mysql -uroot -pdong zabbix < zabbix20111016.sql
#4 如果有主从,停掉从服务器
例如 mysql>stop slave;
#5 从二进制日志文件得到sql语句
#20111017
mysqlbinlog --database=zabbix --stop-datetime="2011-10-17 08:30:00" mysql-bin.000158 > test.sql
#6 恢复sql 文件
#20110425
mysql -root -pdong zabbix < test.sql
#20111017
mysql -root -pdong zabbix < test.sql
#7 关于二进制日志文件
正常是每天17:59生成一个二进制日志文件,8:34是掉电后重启服务器生成的二进制日志文件
-rw-rw---- 1 mysql mysql 269983630 Oct 14 17:59 mysql-bin.000155
-rw-rw---- 1 mysql mysql 269744900 Oct 15 17:59 mysql-bin.000156
-rw-rw---- 1 mysql mysql 270254094 Oct 16 17:59 mysql-bin.000157
-rw-rw---- 1 mysql mysql 164263912 Oct 17 08:34 mysql-bin.000158
#8 关于从库数据恢复(可选)
-rw-rw---- 1 mysql mysql 270254094 Oct 16 17:59 mysql-bin.000157
-rw-rw---- 1 mysql mysql 164263912 Oct 17 08:34 mysql-bin.000158
-rw-rw---- 1 mysql mysql 953434 Oct 17 10:07 mysql-bin.000159
-rw-rw---- 1 mysql mysql 1073749046 Oct 17 11:21 mysql-bin.000160
-rw-rw---- 1 mysql mysql 414747331 Oct 17 12:00 mysql-bin.000161
-rw-rw---- 1 mysql mysql 24960747 Oct 17 13:42 mysql-bin.000162
-rw-rw---- 1 mysql mysql 6042 Oct 17 12:00 mysql-bin.index
主库,关闭了数据库以前旧的二进制文件全部删除掉,重启后将生成新的二进制日志文件,从000001开始
/etc/init.d/mysqld stop
tar czvf 20111017.tar.gz zabbix/
mkdir tmp
mv mysql-bin.* tmp/
scp 20111017.tar.gz root@192.168.57.82:/root/
/etc/init.d/mysqld start
ll
-rw-r--r-- 1 root root 362462977 Oct 17 14:42 20111017.tar.gz
-rw-rw---- 1 mysql root 812700 Oct 17 14:45 cl3.test.com.err
-rw-rw---- 1 mysql mysql 6 Oct 17 14:45 cl3.test.com.pid
-rw-rw---- 1 mysql mysql 17638261 Oct 17 14:46 lowquery.log
drwx------ 2 mysql root 4096 May 4 10:35 mysql
-rw-rw---- 1 mysql mysql 7046279 Oct 17 15:17 mysql-bin.000001
-rw-rw---- 1 mysql mysql 38 Oct 17 14:45 mysql-bin.index
drwxr-xr-x 2 root root 4096 Oct 17 14:42 tmp
drwx------ 2 mysql mysql 12288 Oct 17 11:23 zabbix
从库,重置了slave从库信息,重新建立从库信息,由于主库二进制日志从新开始,所以 master_log_file='mysql-bin.000001',master_log_pos=1;
/etc/init.d/mysqld stop
mv /usr/local/mysql/var/zabbix /usr/local/mysql/var/zabbix_tmp
tar zxvf 20111017.tar.gz -C /usr/local/mysql/var/
/etc/init.d/mysqld start
mysql -uroot -p
mysql> reset slave;
mysql> change master to master_host='192.168.6.53',master_user='dongnan',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1;
Query OK, 0 rows affected (0.01 sec)
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.6.53
Master_User: dongnan
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 3249706
Relay_Log_File: zabbix-slave-relay-bin.000002
Relay_Log_Pos: 3249851
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#mysqlbinlog 其它
#找到 2011-10-16 17:00:00 到 2011-10-16 17:58:59 这期间的sql语句
mysqlbinlog --database=zabbix --start-datetime="2011-10-16 17:00:00" --stop-datetime="2011-10-16 17:58:59" mysql-bin.000157 > test2.sql
du -sh test2.sql
16M test2.sql
head test2.sql
/*!40019 SET @@session.max_i
nsert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#111015 17:59:02 server id 1 end_log_pos 106 Start: binlog v 4, server v 5.1.55-log created 111015 17:59:02
BINLOG '
ZlmZTg8BAAAAZgAAAGoAAAAAAAQANS4xLjU1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
'/*!*/;
# at 259091241243
tail test2.sql
/*!*/;
# at 270239069
#111016 17:58:56 server id 1 end_log_pos 270239321 Query thread_id=120 exec_time=0 error_code=0
SET TIMESTAMP=1318759136/*!*/;
insert into history_uint (itemid,clock,value) values (18532,1318759132,25427968),(18533,1318759133,43491328),(18534,1318759134,4308992),(18504,1318759134,15250739200),(18535,1318759135,0)
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
mysql -uroot -pdong zabbix < test2.sql
#/usr/local/mysql/bin/mysqlbinlog --database=zabbix mysql-bin.000013 > test.txt
#head -n 10 test.txt
#/usr/local/mysql/bin/mysqlbinlog --start-datetime="2011-04-20 15:33:51" mysql-bin.000013 | /usr/local/mysql/bin/mysql -uroot -p结束
整个恢复过程无非就是导入前一天的备份的 sql 文件,然后按时间或者按position从二进制日志中得到想要的sql语句,再次导入数据库即可!如果有从库的话再导出一份数据到从库就可以了!
# 可选
# 很重要
# 重启
# 跳过
# 数据恢复
# 就可以
# 没了
# mysql
# 内网
# 后将
# 然后按
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11怎么关闭右下角弹窗_Win11拦截系统通
- 如何使用Golang反射创建map对象_动态生成键
- Win11怎么快速锁屏_Win11一键锁屏快捷键W
- php怎么下载安装并配置环境变量_命令行调用PHP
- 如何在 Go 中正确反序列化多个同级 XML 元素
- Win10如何卸载预装Edge扩展_Win10卸载
- c# 如何深拷贝和浅拷贝
- 如何使用Golang实现云原生应用弹性伸缩_自动应
- 如何使用Golang写入二进制文件_Golang
- Python技术债务管理_长期维护解析【教程】
- Win11怎么设置开机问候语_自定义Win11锁屏
- 企业SEO优化选择网站建设模板的技巧
- c# await 一个已经完成的Task会发生什么
- Windows怎样关闭开始菜单广告_Windows
- 如何使用Golang模拟请求超时_Golang c
- Mac如何彻底清理浏览器缓存?(Safari与Ch
- Win11如何关闭游戏模式 Win11禁用Xbox
- php订单日志怎么按金额排序_php按订单金额排序
- Windows10电脑怎么设置电源按钮_Win10
- Windows 10怎么隐藏特定更新补丁_Wind
- Win11怎么设置快速访问主页_Windows11
- Win11怎么开启窗口对齐助手_Windows11
- windows如何禁用驱动程序强制签名_windo
- Windows 11登录时提示“用户配置文件服务登
- 电脑无法识别U盘怎么办 Windows磁盘管理与驱
- php下载安装后memory_limit怎么设置_
- Python函数接口稳定性_版本演进解析【指导】
- Win10怎么卸载爱奇艺_Win10彻底卸载爱奇艺
- 如何使用正则表达式精确匹配最多含一个换行符的 st
- Win11怎么关闭自动调节亮度_Windows11
- C++中的constexpr和const有什么区别
- 如何在 Go 同包不同文件中正确引用结构体
- PHP 中如何在函数内持久化修改引用变量的指向
- 静态属性修改会影响所有实例吗_php作用域操作符下
- Win11怎么修改DNS服务器 Win11设置DN
- 如何高效识别并拦截拼接式恶意域名 spam
- Windows10无法连接到Internet_Wi
- Win11快速助手怎么用_Win11远程协助连接教
- C++中引用和指针有什么区别?(代码说明)
- 如何在 VS Code 中正确配置并使用 NumP
- 如何使用Golang实现文件追加操作_向已有文件追
- php与c语言在嵌入式中有何区别_对比两者在硬件控
- Win10怎么卸载鲁大师_Win10彻底卸载鲁大师
- XML的“混合内容”是什么 怎么用DTD或XSD定
- php订单日志怎么按状态筛选_php筛选不同状态订
- Win11怎么关闭应用权限_Windows11相机
- Win11视频默认播放器怎么改_Win11关联第三
- Go 中 := 短变量声明的类型推导机制详解
- Windows驱动无法加载错误解决方法_驱动签名验
- Mac自带的词典App怎么用_Mac添加和使用多语

nsert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#111015 17:59:02 server id 1 end_log_pos 106 Start: binlog v 4, server v 5.1.55-log created 111015 17:59:02
BINLOG '
ZlmZTg8BAAAAZgAAAGoAAAAAAAQANS4xLjU1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
'/*!*/;
# at 259091241243
tail test2.sql
/*!*/;
# at 270239069
#111016 17:58:56 server id 1 end_log_pos 270239321 Query thread_id=120 exec_time=0 error_code=0
SET TIMESTAMP=1318759136/*!*/;
insert into history_uint (itemid,clock,value) values (18532,1318759132,25427968),(18533,1318759133,43491328),(18534,1318759134,4308992),(18504,1318759134,15250739200),(18535,1318759135,0)
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
mysql -uroot -pdong zabbix < test2.sql
#/usr/local/mysql/bin/mysqlbinlog --database=zabbix mysql-bin.000013 > test.txt
#head -n 10 test.txt
#/usr/local/mysql/bin/mysqlbinlog --start-datetime="2011-04-20 15:33:51" mysql-bin.000013 | /usr/local/mysql/bin/mysql -uroot -p
QQ客服