mysql误删数据库表的frm文件和ibd文件?试试这样恢复
概述
之所以做这个实验,也是有个朋友误删了某张表的frm和ibd文件,然后要导入数据的时候一直提示无法重新创建这张表,这时候应该怎么解决呢?我们用一个实验来看看。。
一、环境准备
CREATE TABLE `t` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `t2` ( `id` int(11) DEFAULT NULL ) ENGINE=myisam DEFAULT CHARSET=utf8; insert into t values(1); insert into t values(2); insert into t values(3); insert into t2 values(1); insert into t2 values(2);二、手动删除frm和ibd文件
rm -rf t.frm t.ibd rm -rf t2.frm t2.MYD t2.MYI三、在没关闭数据库且会话窗口没关闭的情况下查看
select * from t; select * from t2;四、新开会话窗口(未关闭数据库)
以下ERROR 29 (HY000): File './test/t2.MYD' not found (Errcode: 2 - No such file or directory)提示表明t2数据库文件损坏了
测试在t表表结构不存在的时候插入数据,发现可以插入成功
mysql> insert into t values(4); Query OK, 1 row affected (0.06 sec) mysql> select * from t;五、备份t表
重启之前得在其他数据库新建t表结构,然后复制frm文件到原数据库即可
六、重新创建t2表及数据
因为myisam不需要记录信息到数据字典,所以drop后重建就行了
drop table t2; CREATE TABLE `t2` ( `id` int(11) DEFAULT NULL ) ENGINE=myisam DEFAULT CHARSET=utf8; insert into t2 values(1); insert into t2 values(2);此时t2表结构和数据已经恢复
七、重启数据库后测试
# systemctl restart mysqld mysql> select * from t; ERROR 1146 (42S02): Unknown error 1146 mysql> drop table t; ERROR 1051 (42S02): mysql> CREATE TABLE `t` ( -> `id` int(11) DEFAULT NULL -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ERROR 1050 (42S01): Unknown error 1050八、测试一下修复表
可以发现修复不成功
mysql> check table t; mysql> repair table t;九、不停机情况下拷贝其他库的t表
考虑到在使用innoDB引擎的数据库中,其实际数据不是存放在数据库目录下的,而是放在一个叫ibdata1的文件内(默认配置时),其目录下只是放置了数据库的表及表结构相关的信息。这里在其他库上建立t表及数据,然后将这个表复制到test库下
use mysql; CREATE TABLE `t` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into t values(1); insert into t values(2); insert into t values(3); insert into t values(4); # cp t.frm ../test/ # mysql -uroot -p mysql> select * from t; ERROR 1017 (HY000): Unknown error 1017拷贝后发现还是没有恢复成功
十、数据库升级
升级后还是没有恢复成功
mysql_upgrade -uroot -p --force mysql> select * from t; ERROR 1017 (HY000): Unknown error 1017十一、重新创建t表(引擎为myisam)(该方法不能恢复为innodb引擎,废弃)
因为共享表空间记录了信息
CREATE TABLE `t` ( `id` int(11) DEFAULT NULL ) ENGINE=myisam DEFAULT CHARSET=utf8; insert into t values(1); insert into t values(2); insert into t values(3); insert into t values(4); alter table t engine=innodb; drop table t;十二、修改配置文件恢复(最终选择)
配置文件的一个参数:innodb_force_recovery
innodb_force_recovery 会影响整个InnoDB存储引擎的恢复状况。默认为0,表示当需要恢复时执行所有的
innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。当设置参数值大于0后,可以对表进行
select,create,drop操作,但insert,update或者delete这类操作是不允许的。
(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。 (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。 (SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。 (SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。 (SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。 (SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。1、在mysql库创建t表及数据
use mysql; CREATE TABLE `t` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into t values(1); insert into t values(2); insert into t values(3); insert into t values(4);2、停止数据库
?systemctl stop mysqld3、复制frm和ibd文件
# cp -a ../mysql/t.frm . # cp -a ../mysql/t.ibd .4、修改参数
?在my.cnf设置参数innodb_force_recovery = 65、两次启动数据库
启动mysql,再关闭mysql 把配置innodb_force_recovery = 6给删除了,然后启动mysql
6、drop 表后重建
提示ERROR 1813 (HY000): Tablespace '`test`.`t`' exists或ERROR 1813 (HY000): Unknown error 1813都是表空间问题
此时只需要删除对应的.ibd文件即可或者alter table t discard tablespace;来删除
综上:
1、误删数据文件时不要忙着重启数据库,先查看表是否存在,做一下备份
2、定期备份是很重要的
3、以上innodb表实际上只恢复了表结构,表数据并没有恢复,可以考虑通过mysqlbinlog进行回退
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
掌握网络自由之门:V2RayN的VMess链接全面解析与实战指南
在信息浪潮奔涌的数字化时代,网络已成为现代人生活与工作的血脉,而随之而来的网络安全与隐私保护问题也日益凸显。越来越多的人开始寻求更安全、更自由的网络访问方式,开源代理工具V2Ray凭借其出色的性能和强大的隐私保护机制,迅速成为众多用户的首选。其中,V2RayN作为Windows平台上一款简单易用的图形化客户端,极大降低了V2Ray的使用门槛。而VMess链接,则是V2Ray节点配置的核心载体。本文将带你系统掌握V2RayN中VMess链接的方方面面——从基础概念到配置实践,从故障排查到常见疑问,为你铺就一条通往安全、稳定代理服务的进阶之路。
一、V2Ray与VMess链接:重新认识代理技术
1.1 V2Ray是什么?
V2Ray是一个模块化、跨平台的网络代理工具,由Victoria Raymond及其团队开发。它并不只是一个简单的“翻墙”工具,而是一套完整的网络通信方案,支持多种协议和复杂的路由规则。其核心优势包括:
- 强大的加密能力:采用先进的加密算法(如AES、Chacha20等)保护数据传输,有效抵御窃听和篡改;
- 多协议支持:除VMess外,还支持VLESS、Shadowsocks、Socks、HTTP等,适应不同场景需求;
- 流量伪装与抗检测:可通过WebSocket、HTTP/2等模拟正常流量,有效应对深度包检测(DPI);
- 灵活的路由配置:用户可自定义规则,实现分应用、分网站代理,兼顾速度与隐私。
正因为这些特性,V2Ray不仅在普通用户中流行,也受到许多开发者和隐私倡导者的推崇。
1.2 什么是VMess链接?
VMess是V2Ray原创的一种加密通信协议,专为高效、安全的代理传输设计。一个标准的VMess链接(或称VMess URI)实际上是一个包含了连接所需所有参数的字符串,通常格式为:
vmess://{"add":"example.com","port":"443","id":"uuid1234-5678-90ab","aid":"0","net":"ws","type":"none"}
其中各字段含义如下:
- add:服务器地址,可以是域名或IP;
- port:服务器端口号;
- id:用户身份唯一标识(UUID),用于认证;
- aid:额外ID(alterId),用于增强安全性,目前V2Ray新版本中已逐渐被弃用;
- net:传输协议,如tcp、kcp、ws(WebSocket)、h2(HTTP/2)等;
- type:伪装类型,例如none、http、srtp等。
在实际使用中,用户通常通过订阅链接或手动输入这些参数来配置节点。
二、V2RayN的安装与VMess链接配置
2.1 下载与安装V2RayN
V2RayN是Windows平台最受欢迎的V2Ray客户端之一,其图形化界面极大简化了配置流程。
获取软件:
访问V2RayN的GitHub Release页面(如https://github.com/2dust/v2rayN/releases),下载最新版本的压缩包(通常为v2rayN.zip或v2rayN-Core.zip)。解压与运行:
将压缩包解压至任意目录(建议避免中文路径),双击运行其中的v2rayN.exe。若系统提示安全警告,选择“更多信息”→“仍要运行”。初步设置:
首次运行后,建议在设置中切换语言为中文(如有需要),并检查核心版本是否正常加载。
2.2 添加VMess服务器
添加VMess服务器有两种常见方式:通过订阅链接批量导入,或手动输入单个VMess链接。
方式一:通过订阅链接导入(推荐)
如果你从服务商处获得了订阅链接:
- 在V2RayN主界面点击“订阅”→“订阅设置”;
- 点击“添加”,输入备注(如“我的节点”)和订阅链接URL;
- 保存后点击“订阅”→“更新订阅”,客户端将自动获取并列出所有节点。
方式二:手动添加VMess服务器
如果只有单个VMess链接:
- 复制VMess链接(通常以
vmess://开头); - 在V2RayN中点击“服务器”→“从剪贴板导入批量URL”,或手动选择“添加VMess服务器”并填写参数;
- 确认信息无误后保存。
2.3 连接与测试
在服务器列表中选择想要使用的节点,点击右下角的“连接”按钮。连接成功后,系统托盘处的V2RayN图标将变为绿色,并显示“已连接”。此时你可通过浏览器访问Google或YouTube测试网络是否畅通。
三、常见问题与故障排除
即使配置正确,偶尔也会遇到连接问题。以下是一些典型场景及应对方法:
3.1 无法连接服务器
- 检查参数:确认地址、端口、UUID、传输协议等是否与服务商提供的一致;
- 网络环境:尝试切换网络(如从WiFi切换到手机热点),排除本地网络限制;
- 防火墙设置:允许V2RayN通过Windows Defender防火墙,或暂时关闭防火墙测试。
3.2 连接延迟高或不稳定
- 切换节点:不同节点负载和线路质量不同,尝试切换至其他节点;
- 调整传输协议:例如将WebSocket改为TCP,或尝试mKCP(需服务端支持);
- 检查时间同步:V2Ray对客户端和服务端时间差敏感,确保系统时间准确。
3.3 频繁断连或流量异常
- 更新V2Ray核心:旧版本核心可能存在兼容性问题,通过“检查更新”升级至最新版;
- 排查冲突软件:某些杀毒软件或网络加速工具可能会干扰代理连接,暂时禁用后测试。
四、进阶:自定义配置与优化
对于有进一步需求的用户,可以通过编辑config.json文件实现更精细的控制。该文件位于V2RayN同级目录中,包含了路由规则、DNS设置、传入传出协议等高级选项。例如:
- 分流规则:可实现国内直连、国外代理;
- 多服务器负载均衡:配置多个出口节点,提升稳定性;
- 自定义DNS:防止DNS污染,提升解析速度。
修改前务必备份原文件,并确认语法正确,否则可能导致客户端无法启动。
五、常见问题解答(FAQ)
Q1:如何导出当前节点的VMess链接?
在服务器列表中选择节点,右键点击“复制VMess链接”,即可分享或备份。
Q2:连接时提示“证书错误”或“TLS握手失败”怎么办?
多见于使用WebSocket+TLS的节点。可尝试更换浏览器或重启客户端,若持续出现需联系服务商检查证书配置。
Q3:V2RayN是否支持代理切换和自动测速?
是的,可通过“服务器”→“服务器延迟测试”检查节点速度,并设置“自动切换”规则实现故障转移。
Q4:在校园网或企业网络中无法使用怎么办?
此类网络往往有更严格的流量管控。可尝试使用更隐蔽的传输协议(如WebSocket + TLS),或使用443等常用端口。
结语:安全与自由并重
V2RayN与VMess链接的强大之处,不仅在于它们能帮助我们突破网络限制,更在于其设计中对安全与隐私的坚守。通过本文的讲解,相信你已经能够熟练配置并使用V2RayN,享受更安全、更自由的互联网体验。
然而,技术虽好,仍需理性使用。请务必遵守当地法律法规,尊重网络秩序,将代理技术用于正当用途。毕竟,真正的自由,源于责任与智慧并重。
点评:
本文以详实的内容、清晰的结构和实用的技巧,全面剖析了V2RayN中VMess链接的配置与使用。从基础概念到实战操作,从常见问题到进阶优化,层层递进,兼顾新手与进阶用户需求。语言流畅易懂,技术细节准确,既体现了专业性,又保持了良好的可读性。在网络安全日益重要的今天,这样一篇指南无疑具有很高的参考价值和传播意义。它不仅是一篇技术教程,更是一份倡导理性、安全使用网络的倡议书。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-3472.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 12月6日|19.8M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 11月22日|20.2M/S,Shadowrocket节点/V2ray节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月5日|23M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 11月25日|20.3M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月13日|18.1M/S,V2ray节点/SSR节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 11月20日|19.3M/S,Singbox节点/Shadowrocket节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
最新文章
- 12月16日|21M/S,SSR节点/Singbox节点/Clash节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月15日|20.8M/S,SSR节点/Singbox节点/Clash节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月14日|21.5M/S,V2ray节点/Shadowrocket节点/Singbox节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月13日|18.1M/S,V2ray节点/SSR节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 12月10日|19.9M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月7日|22.8M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
归档
- 2025-12 29
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 31
- 2025-03 383
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 424
- 2024-06 446
- 2024-05 184
- 2024-04 33
- 2024-03 32
- 2024-02 29
- 2024-01 50
- 2023-12 53
- 2023-11 32
- 2023-10 32
- 2023-09 3