数据传输
外传方式
常用方式:
- WEB 服务器放到 web 目录下载
mega 网盘
第三方平台
file.io
gofile.io
未授权 S3 存储桶
….
其他工具 nc、wget 等
Mega 网盘比较常用,挂 VPN 临时邮箱注册然后安装 Mega cmd 后登录上传卸载,流量加密。
直接使用 https://github.com/david-eve-za/go-megacmd 要比官方的 cmd 程序简单。
特殊场景
Mysql Data 目录恢复
在某个内网 test 机器上,从 web 配置文件拿到的密码无法连接,所以直接打包目标 mysql 的 data 目录进行还原
低版本
在 mysql 目录中的 data 目录存放数据库
mysql 中的数据在本地是有体现的,一般在其 data 目录,这里是文件的介绍:https://www.cnblogs.com/worldusemycode/p/15915938.html
对于不知道数据库密码,或者无法连接的情况就可以直接打吧 mysql 的 data 目录,然后在本地数据库还原即可。

还原工具介绍:https://www.zcgonvh.com/post/mysql_innodb_restore.html

1 | |
高版本
mysql8.0 只有 idb 文件
恢复步骤:使用 go-ibd2schema 从 idb 中恢复表结构( 会给一个 create 语句 ),然后 DISCARD 表空间,之后把 idb 文件复原,然后再恢复表空间。
1 | |
ALTER TABLE ... DISCARD TABLESPACE命令用于丢弃(停用)指定表的表空间。表空间包含了表的数据和索引,当执行该命令时,MySQL将会删除表空间文件,但保留表的定义。这个命令通常用于备份或迁移表时,可以先丢弃表空间,然后将表空间文件复制到其他地方。
ALTER TABLE ... IMPORT TABLESPACE命令用于导入已经丢弃的表空间。当执行该命令时,MySQL会根据指定的文件路径和文件名来导入表空间,并将表空间与表相关联。这个命令通常用于恢复丢弃的表空间,或者在不同的MySQL实例之间迁移表时,可以先将表空间文件复制到目标服务器,然后导入表空间。
Oracle
某次内网遇到 oracle 数据库,代理太慢,所以使用使用 github.com/sijms/go-ora 原生实现了 oracl ,直接批量导出 csv 即可。
导出 sql 的原理其实也是有一个 SQL 模板,类似于表的创建有 SQL 语句可以生成。