MySQL服务器 – 如何从远程(从服务器本身)恢复备份没有SSH访问? 黑客我的服务器

  1. 我在云提供商上创build了一个实例。 生成.pem键通过sshlogin。
  2. 安装mysql-server,下载服务器上的.sql备份。
  3. 从我的本地计算机中删除了.sql备份,并且错误地删除了通过SSH连接到mysql服务器所需的.pem密钥。 问题:如何取回.sql备份文件? 我知道关于mysql转储,但我不知道它是否可以从服务器本身加载文件,而无需通过该服务器上的ssh实际login。 我知道它在/home/back.sql,但我不能通过SSH连接到服务器。 是否有可能把它弄回来或是永远失去 在MySQL服务器上,我有“根”的访问,但我认为MySQL的应用程序/服务器安装为“MySQL”用户不是“根,所以我不知道如果/我怎么能砍掉它。通过百胜延续版本)。

云实例EC2? 您可以login到IaaS控制台并创build一个新的公钥/私钥来连接到该实例。

我不这么认为没有pem文件,你可以login到你的ec2实例,你必须从头开始整个练习。

你可以尝试使用类似的东西

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启动选项),那么云提供者支持是你唯一的select。