意外地安装了Mysql上的MariaDB。 如何恢复我的Mysql数据库?

我安装了MariaDB,却没有注意到它取代了Mysql。 在安装过程中,它将Mysql数据目录移动到mysql-5.7。 我删除了MariaDB并重新安装了Mysql,并尝试通过简单地将它们从mysql-5.7移动到mysql并重新启动Mysql来恢复我的数据库。 Mysql不会再次启动,因此我不能像这里建议的那样使用mysqldump – 如何在升级到mariadb后恢复mysql数据库 。 如何恢复数据库?

作为参考,我正在运行Ubuntu Server 16.04和Mysql 5.7。

如果你有一个mysql-5.7的副本(在安装了maria db的/var/lib )到某个临时位置,你可以继续使用Maria Db。

现在,在/var/lib ,您将拥有一个名为mysql的文件夹,它是您当前的数据库(没有旧的转储)。

现在,停止你的mysql。 为了安全起见,将/var/lib的mysql文件夹移动到某个位置,并将mysql-5.7文件夹移动到/var/lib并将其重命名为mysql。 设置与以前的mysql文件夹设置相同的权限。

再次重启mysql服务。 你现在将拥有旧的转储。

我想出来了:

  1. 将重命名的文件夹(/var/lib/mysql_5.7)复制到安全位置。 (如果保留所有权和权限,则可以在步骤4中跳过修复它们。)

  2. 卸载MySQL并从/ var / lib /中删除所有与mysql相关的文件夹。

  3. 重新安装MySQL。

  4. 检查新/ var / lib / mysql / files和文件夹的权限。 如果备份的文件不匹配,请修复它们以匹配。 (我的是

    chown -R mysql:mysql location_to_backed_up_folder/

    chmod 750 location_to_backed_up_folder/mysql/ location_to_backed_up_folder/any_other_folders/

    chmod 640 location_to_backed_up_folder/all_other_files

  5. 停止mysql

  6. 将备份文件夹重命名为“mysql”

  7. 将备份的文件夹和文件(保留所有权和权限)复制到/ var / lib /

    cp -aR location_of_backed_up_folder/ /var/lib/

  8. 重启mysql