mysql - 在新的 MySQL 安装中使用以前的 MySQL 数据文件夹

标签 mysql

如果我能做出正确的 SQL dump/backup我会的,但是 OS给了,只能登录SafeMode ,我无法启动 MySQL server .因此,我只能手动备份文件目录。

  • 我有一个保存的文件副本 C:\ProgramData\MySQL\MySQL Server 8.0
  • 我有一个保存的文件副本 C:\Program Files\MySQL\MySQL Server 8.0

  • 我现在正在新安装的 Windows 上运行并尝试启动这台旧服务器几分钟,以便我可以从 Workbench 登录并做出正确的 SQL database dump我会是哪个 import在新 MySQL稍后安装。

    因此,将提到的文件移动到各自的位置 - Program FilesProgramData .

    开放PowerShell (具有管理员权限)并执行以下操作:
    mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0" --console
    

    我得到了一些 屏幕上包含以下内容的行:
    2020-04-10T05:28:56.725818Z 0 [ERROR] [MY-011972] [InnoDB] Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html for information about forcing recovery.
    2020-04-10T05:28:56.734460Z 0 [ERROR] [MY-011971] [InnoDB] Tablespace 'innodb_undo_001' Page [page id: space=4294967279, page number=5] log sequence number 1339677380 is in the future! Current system log sequence number 19081380.
    

    其次是:
    2020-04-10T05:28:56.740834Z 0 [ERROR] [MY-011972] [InnoDB] Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html for information about forcing recovery.
    2020-04-10T05:28:56.757259Z 0 [System] [MY-010229] [Server] Starting crash recovery...
    2020-04-10T05:28:56.769215Z 0 [System] [MY-010232] [Server] Crash recovery finished.
    2020-04-10T05:28:57.695386Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2020-04-10T05:28:57.765911Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.13'  socket: ''  port: 3306  MySQL Community Server - GPL.
    2020-04-10T05:28:57.926850Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
    

    太好了,至少它正在运行。

    我现在可以 connect但没有 databases .
  • 我能做什么/我应该如何继续成功地暂时恢复这些数据库?

  • 更新:

    从数据目录中删除 innodb_undo_001 和 innodb_undo_002 文件并重新启动。

    得到这个:
    PS C:\Program Files\MySQL\MySQL Server 8.0\bin> .\mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console                                                               2020-04-10T05:55:29.555478Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
    2020-04-10T05:55:29.558313Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.13) starting as process 3028
    2020-04-10T05:55:31.394427Z 1 [Warning] [MY-012351] [InnoDB] Tablespace 1, name 'sys/sys_config', file '.\sys\sys_config.ibd' is missing!
    2020-04-10T05:55:32.808645Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2020-04-10T05:55:32.856154Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.13'  socket: ''  port: 3306  MySQL Community Server - GPL.
    2020-04-10T05:55:32.898055Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
    

    正在运行但不存在数据库。

    尝试了 Innodb-force-recovery 方法 - 没有任何 react 。和之前一样。

    最佳答案

    好的,假设所有文件都没有损坏,您可以尝试以下操作:

  • 创建一个新文件夹(如果可能,在不同的驱动器中)。将其命名为 test或者其他的东西。然后从 C:\Program Files\MySQL\MySQL Server 8.0 复制所有文件目录到新文件夹。

  • enter image description here

    *注意:如果文件夹中没有 my.ini 文件,请从 C:\ProgramData\MySQL\MySQL Server 8.0 复制它目录到文件夹中。
  • 打开 my.ini 文件并更改以下内容:
    enter image description here
  • 回到 my.ini 文件的顶部并更改:
    enter image description here
    更改以上内容后,从 mysqld --install MySQLXY .. 复制整行到最后。不要复制第一个#一开始。然后保存 my.ini 文件。
  • 以管理员身份打开命令提示符(cmd),然后执行以下操作:
    enter image description here

  • *使用cmd手动安装服务。
  • 进入服务(键盘快捷键windows button+R然后输入services.msc然后回车或者OK),找到新安装的MySQL服务并点击start .
  • 尝试连接到数据库。
  • 关于mysql - 在新的 MySQL 安装中使用以前的 MySQL 数据文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61134597/

    相关文章:

    php - 数据未插入

    php - 使用简单的 JOIN

    mysql - 如何创建初始化的 MySQL Docker 镜像?

    java - RPC 调用失败

    java - 从mysql显示表数据到jsp页面

    mysql - 如何更新 WHERE 子句以选择相同的数据?

    php - 无法使用 PDO 将照片更新到数据库中

    mysql左外连接

    只有重启mysql守护进程后mysql重复条目错误

    mysql - Sql 查询 - 获取两个不同日期列之间的结果,其确切日期匹配