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

意外在 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。

答案1

我想到了这一点:

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

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

  3. 重新安装 MySQL。

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

    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

答案2

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

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

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

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

相关内容