我们的服务器在 140 天正常运行时间重启(未启动)后崩溃了。它运行的是 Plesk,由于它由 Online.net 托管,因此我可以运行恢复系统并访问我的数据。它运行的是带有一些数据库和表的 MySQL 服务器。我需要访问数据库并导出它们,以便重新安装服务器。服务器运行的是 CentOS,恢复系统是 Ubuntu 12.04。有什么方法可以获取数据库或启动原始 MySQL 服务器吗?
谢谢你!
答案1
在默认的 CentOS 6 系统上,mysql 将其文件存储在以 /var/lib/mysql 为根的树中
将崩溃的系统/var/lib/mysql/...
和/etc/my.cnf
文件中的文件复制到安全的地方。
- 搭建CentOS系统,安装mysql。
- 关闭(如果已启动)新系统上的 mysql 服务
- 将保存的
my.cnf
文件复制到/etc
新系统 - 删除新系统树的内容
/var/lib/mysql
。 - 将保存的 mysql 树的内容复制到
/var/lib/mysql
新系统中。 - 启动mysql服务(一切顺利)。
如果您很幸运的话,系统将启动并运行,您将能够检查是否有数据丢失等。
如果失败,您将必须查看日志并根据发现的内容采取适当的措施。
笔记:这里最重要的是处理从崩溃的系统中恢复的数据副本。
现在也考虑定期备份您的数据。
答案2
首先,您需要确保该分区(mysql 数据目录所在的分区)安装在恢复系统的某个位置(例如 /mnt/old_root)。
然后 chroot 到这个目录:
chroot /mnt/old_root
然后尝试启动mysql:
/etc/init.d/mysql start
最后转储您想要的数据库:
mysqldump -u admin -p`cat /etc/psa/.psa.shadow` database_name > database_name.sql