如何在实时启动中转储 mysql 数据库

如何在实时启动中转储 mysql 数据库

由于 I/O 错误(grub 后系统停止),我无法登录到我的 fedora linux。现在我想从我的 mysql 数据库创建备份。我尝试了chroot /path/to/root然后mysqldump,但出现以下错误:

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) when trying to connect

我使用的是 ubuntu live 磁盘。为什么会显示这个错误?有没有更好的方法转储数据库?

答案1

如果您还没有这样做,您很可能需要在使用 Ubuntu Live CD 时挂载 Fedora 磁盘。这就是我要做的:

• Mount the Fedora disk : mkdir /mnt/fedora, mount /dev/{hda/sda/etc) /mnt/fedora
• tar/gz your /var/lib/mysql (assuming that is the path) (tar cvz mysql_backup.tgz /var/lib/mysql
• Copy your mysql_backup.tgz to a safe location, e.g. a USB key

完成此操作后,您可以在新服务器上解压缩 mysql 目录并恢复数据库。

答案2

我的猜测是你的 mysql 守护进程没有运行。你必须使用 来启动它/etc/init.d/mysql start。然后您可以按照建议转储数据库。

回答您的问题“是否有更好的方法......”是的,通常在服务器崩溃之前备份数据库比在服务器崩溃之后备份数据库更好。

您也许可以复制平面文件。不确定它们在 Fedora 上的位置,但在 Ubuntu 上它们位于/var/lib/mysql/rnews.文件看起来例如。喜欢<table_name>.MYD<table_name>.MYI...等

相关内容