【问题标题】:How to backup MySQL in rescue mode?如何在救援模式下备份 MySQL?
【发布时间】:2015-02-17 18:25:15
【问题描述】:
我有一个运行 CentOS 的 Rackspace VPS,我只能在只读救援模式下访问。如何在无法访问 mysql 命令行工具的情况下使用 SSH 和 FTP 备份/恢复 MySQL?
原因是用于构建服务器的映像与 Nova 存在问题,因此 Rackspace 无法从中构建。我需要做的是将所有文件转移到一台干净的新机器上。
我可以毫无问题地访问所有文件,但我还想恢复机器上的任何 MySQL 数据库。但是,MySQL 不会在 Rackspace 提供的救援模式下运行,我不能使用这些工具进行任何类型的转储——我只有 SSH 和 FTP。谁能提示我如何将我的 MySQL 数据库拯救/转移到新机器上?
【问题讨论】:
标签:
mysql
database
linux
centos
【解决方案1】:
使用相同版本的 mysql 设置新的 VPS,并将 /var/lib/mysql 中的原始数据库文件和 mysql conf 文件(通常是 /etc/my.cnf)传输(scp/rsync/sftp)到新 VPS服务器。确保这些文件的权限不会在新服务器上更改。如果 mysqld 正在运行,则如果没有第三方实用程序(例如 Percona Xtrabackup),这将无法工作,但是由于无论如何您都无法在 r/o 模式下运行 mysqld,因此这是您最好的选择。
【解决方案2】:
示例路径是 miliardowo
我的旧服务器是 debian。新的是 Ubuntu 14.04 LTS
将文件从 /var/lib/mysql/miliardowo 复制到您的服务器
-
在 /var/lib/mysql/ 中添加权限
chmod 700 miliardowo/
chmod 660 miliardowo/*
chmod g-s miliardowo/
chmod g-s miliardowo/*
chmod u-s miliardowo/
chmod u-s miliardowo/*
chown mysql:mysql miliardowo/
chown mysql:mysql miliardowo/*
更新数据库