手机版
你好,游客 登录 注册
背景:
阅读新闻

记一次 Windows MySQL 恢复

[日期:2019-08-15] 来源:cnblogs.com/nnylee  作者:大落南园 [字体: ]

0x00 事件

因为本地的服务器硬件出现故障,导致一台 Windows 系统的开发环境挂了,且无法短时间内恢复状态。

应急方案是使用了云上的系统重建了开发环境。

开发人员说需要挂了的那台 Windows 开发环境中的数据库数据,因为一些数据只有那个环境里面有。于是找了把螺丝刀把硬盘拆下来,用移动硬盘盒将数据库的数据目录拉了出来,因为 Windows 环境是使用的是MySQL作为数据库存储数据,所以准备用「冷备」的方式将数据导出。

吾在 Linux 系统中装了 MySQL,停下服务后将备份的 Windows 数据库整个数据目录覆盖进去数据目录,接着重启服务,启动失败了:

Jan 15 12:01:30 iZo7e61fz42ik0Z mariadb-prepare-db-dir[7537]: Database MariaDB is probably initiali
Jan 15 12:01:30 iZo7e61fz42ik0Z mariadb-prepare-db-dir[7537]: If this is not the case, make sure th
Jan 15 12:01:31 iZo7e61fz42ik0Z mysqld_safe[7567]: 190115 12:01:31 mysqld_safe Logging to '/var/log
Jan 15 12:01:31 iZo7e61fz42ik0Z mysqld_safe[7567]: 190115 12:01:31 mysqld_safe Starting mysqld daem
Jan 15 12:01:32 iZo7e61fz42ik0Z systemd[1]: mariadb.service: control process exited, code=exited st
Jan 15 12:01:32 iZo7e61fz42ik0Z systemd[1]: Failed to start MariaDB database server.
-- Subject: Unit mariadb.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has failed.

跟着这个错误,在网上找到一些方法仍然没能解决。

0x01 恢复

于是思考是不是系统环境造成,然后在另一台 Windows 机器上安装了 MySQL,重现之前那台 Windows 的数据库环境,再次尝试以冷备的方式导出开发数据。

安装完MySQL后停止服务:

覆盖目录:

以无密码的方式启动服务,执行完命令之后终端会 hang 住:

!

再打开一个终端登录数据库导出 SQL:


问题解决。

总结:此次数据迁移的难题在与在 Linux 环境的 Mysql 中导入 Windows 环境 MySQL 的 data 目录,导致 Linux 中的 MySQL 无法运行服务从而无法导出数据,在笔者的解决方法中,就是还原其本身的环境——在 Windows 中建立 MySQL 服务,将 data 覆盖进去解决。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/160095.htm

linux
相关资讯       MySQL恢复 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款