mysql 服务器 - 如何在没有 ssh 访问权限的情况下远程恢复备份(从服务器本身)?破解我的服务器

mysql 服务器 - 如何在没有 ssh 访问权限的情况下远程恢复备份(从服务器本身)?破解我的服务器
  1. 我在云提供商上创建了一个实例。生成了 .pem 密钥以通过 ssh 登录。
  2. 安装了 mysql-server ,在服务器上下载了.sql 备份。
  3. 从本地计算机中删除了 .sql 备份,并且错误地删除了通过 SSH 连接到 mysql 服务器所需的 .pem 密钥。问题:如何恢复 .sql 备份文件?我知道 mysql dump,但我不知道是否可以从服务器本身加载文件,而无需通过 ssh 实际登录该服务器。我知道它在 /home/back.sql 上,但我无法再通过 SSH 连接到服务器。是否有可能将其恢复,还是它永远丢失了。在 mysql-server 上,我有“root”访问权限,但我认为 mysql 应用程序/服务器是以“mysql”用户而不是“root”身份安装的,所以我不确定是否/如何破解它。Centos 6.mysql-server(通过 yum 获得的最新版本)。

答案1

云实例是 EC2 吗?您可以登录 IaaS 控制台并创建新的公钥/私钥来连接到该实例。

答案2

我不认为如果没有 pem 文件您就无法登录到您的 ec2 实例。您必须从头开始完成整个练习。

答案3

您可以尝试使用类似

create table test (i int primary key auto_increment, a longtext);
load data infile '/home/back.sql' into table test
  fields terminated by '_a_string_which_is_not_in_file_'
   optionally enclosed by '' escaped by ''
  lines terminated by '\n'
  (a);

从 mysql 内部将您的备份文件读取到行表中,但我认为在 CentOS 上您的努力会被 SELinux 阻止,因为 MySQL 服务器不应该读取 中的任何内容/home/

因此,如果您无法在禁用 SELinux 的情况下启动(例如使用enforcing=0启动选项),那么云提供商支持是您唯一的选择。

相关内容