广州站八个字,苏州seo,骏域网站建设专家电话,朋友 合同 网站制作看腻了就来听听视频演示吧#xff1a;https://www.bilibili.com/video/BV1m34y1A7tV/
在MySQL进程未重启时可以恢复
# 误删数据文件和重做日志文件
[rootdba ~]# cd /mysqldata/data/
[rootdba data]# ll ib*
-rw-r----- 1 mysql mysql 809 Nov 19 03:22 ib_buffer_poo…看腻了就来听听视频演示吧https://www.bilibili.com/video/BV1m34y1A7tV/
在MySQL进程未重启时可以恢复
# 误删数据文件和重做日志文件
[rootdba ~]# cd /mysqldata/data/
[rootdba data]# ll ib*
-rw-r----- 1 mysql mysql 809 Nov 19 03:22 ib_buffer_pool
-rw-r----- 1 mysql mysql 79691776 Feb 23 07:17 ibdata1
-rw-r----- 1 mysql mysql 50331648 Feb 23 07:18 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Feb 23 07:18 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Feb 23 07:06 ibtmp1
[rootdba data]# rm -f ib*
[rootdba data]# ll ib*
ls: cannot access ib*: No such file or directory# 查找MySQL进程pid
[rootdba data]# netstat -ntlp | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 7424/mysqld
# 确认进程具柄还没释放
[rootdba data]# ll /proc/7424/fd | egrep ib_|ibdata
lrwx------ 1 root root 64 Feb 23 07:33 10 - /mysqldata/data/ibdata1 (deleted)
lrwx------ 1 root root 64 Feb 23 07:33 4 - /mysqldata/data/ib_logfile0 (deleted)
lrwx------ 1 root root 64 Feb 23 07:33 9 - /mysqldata/data/ib_logfile1 (deleted)# 前端关闭业务或甚至只读模式
flush tables with read lock;
# 将脏页尽快刷入磁盘
set global innodb_max_dirty_pages_pct 0;
# 查看binlog日志写入情况确保File和Position值没变化
show master status;
# 查看InnoDB状态信息确保脏页已刷入磁盘
show engine innodb status\G;# 将未释放的具柄号复制回原目录文件
[rootdba data]# cp /proc/7424/fd/10 /mysqldata/data/ibdata1
[rootdba data]# cp /proc/7424/fd/4 /mysqldata/data/ib_logfile0
[rootdba data]# cp /proc/7424/fd/9 /mysqldata/data/ib_logfile1
# 修改用户属性
[rootdba data]# chown mysql.mysql ib*
[rootdba data]# ll /mysqldata/data/ib*
-rw-r----- 1 mysql mysql 79691776 Feb 23 07:41 /mysqldata/data/ibdata1
-rw-r----- 1 mysql mysql 50331648 Feb 23 07:41 /mysqldata/data/ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Feb 23 07:41 /mysqldata/data/ib_logfile1# 解锁看是否需要重启MySQL服务
mysql unlock tables;原理利用操作系统对误删除文件进程的具柄尚未释放
# 窗口一创建文件有进程一直在使用该文件
[rootdba ~]# echo hello py /tmp/testdelete.py
[rootdba ~]# cat /tmp/testdelete.py# 窗口二删除文件
[rootdba ~]# ll /tmp/testdelete.py
-rw-r--r-- 1 root root 10 Feb 23 07:51 testdelete.py
[rootdba ]# rm -f /tmp/testdelete.py
[rootdba ]# ll /tmp/testdelete.py
ls: cannot access testdelete.py: No such file or directory# 找到还没删除的进程进行文件cp恢复PID为服务进程
[rootdba ]# lsof | grep deleted | grep testdelete.py
cat 15276 root 1w REG 253,0 10 35364283 /tmp/testdelete.py (deleted)
[rootdba ]# ll /proc/15276/fd
total 0
lrwx------ 1 root root 64 Feb 23 07:53 0 - /dev/pts/1
l-wx------ 1 root root 64 Feb 23 07:53 1 - /tmp/testdelete.py (deleted)
lrwx------ 1 root root 64 Feb 23 07:53 2 - /dev/pts/1# 恢复
[rootdba ]# cp /proc/15276/fd/1 /tmp/testdelete.py# 验证
[rootdba ~]# ll /tmp/testdelete.py
-rw-r--r-- 1 root root 10 Feb 23 08:03 /tmp/testdelete.py
[rootdba ~]# cat /tmp/testdelete.py
hello pyMySQL的binlog系列和奇技操作
先来聊聊MySQL的binlog文件解析 接着说说mysqlbinlog解析工具如何做数据恢复 再来谈谈如何从binlog文件恢复误update的数据模拟Oracle的闪回功能 接着聊聊如何从binlog文件恢复误delete的数据模拟Oracle的闪回功能 借用binlog2sql工具轻松解析MySQL的binlog文件再现Oracle的闪回功能 再来介绍另一个binlog文件解析的第三方工具my2sql 顺带来聊聊MySQL误删ibdata数据文件的恢复 MySQL大表直接复制文件的copy方式