【发布时间】:2013-06-22 11:15:53
【问题描述】:
我必须制定备份策略。 我选择 innobackupex 在 Debian 6 Squeeze 上运行。有两台服务器,生产服务器和备份服务器(如果生产服务器崩溃,它应该可以工作)。没有复制,我使用 rsync 传输备份。 我有一个 php 脚本,它在 conf 文件中查找以了解何时必须进行备份。
我的问题是:如何使用 innobackupex 跳过 mysql 数据库或 users 表?
在master上:我执行以下命令:
innobackupex --user=root --password=xxx --no-timestamp /opt/backups/full/ rsync -avz --progress -e 'ssh -i -p 1000' /opt/backups/full/ user@xxx:/home/backups/full/这很好用
在备份服务器上,我只需要准备和恢复文件:
innobackupex --apply-log --redo-only --user=xxx --password=xxx /home/backups/full/ innobackupex --copy-back /home/backups/full --user=root --password=xxx一切正常,但在备份服务器上,root 用户的密码更改了,甚至debian-sys-maint 密码也更改了。
root 用户密码成为主用户密码。
我做了一个脚本来纠正这个问题。
debian-sys-maint 密码清楚地写在/etc/mysql/debian.cnf 文件中,因此可以将其解压缩,但在 php 中(我使用 pdo 对象)我无法更改此密码,因此无法重新启动 mysql 服务器。
有时我无法找回root用户的密码,它不是主服务器的root密码。
有时我可以使用/etc/init.d/mysql stop/start 停止/启动 mysql,有时使用服务 mysql 停止/启动它这不起作用我尝试使用:mysqladmin -u root -p shutdown(如果我可以更改密码)
如果我真的无法停止 mysql,我会这样做killall mysql(我知道这是错误的)
然后我更改了root密码:
有人遇到过和我类似的问题吗?如何使用 innobackupex 跳过 mysql 数据库?
【问题讨论】:
-
如果您的工具无法保留
mysql系统架构,我建议您放弃此工具并使用 MySQL 提供的mysqldump实用程序。 -
你指的是this tool吗?
标签: mysql database-backups percona