我正在尝试使用innobackupex从远程计算机进行备份。
./innobackupex --host=<mysql_server> --user=<username> <backup_dir>.
失败,因为它无法在服务器中找到目录。
(Errcode: 2 - No such file or directory)
我假设它正在本地机器中搜索目录。 请告诉我们如何远程运行备份?
答案 0 :(得分:4)
我怀疑你让innobackupex
混淆mysqldump
之类的东西。前者备份实际的表文件,后者连接到数据库服务器并提取数据。
由于它是trying to backup the database files,它当然需要访问数据库服务器上的文件系统,并且不能远程运行。
你可以做的是stream the contents of the backup to a remote machine:
innobackupex --stream=tar ./ | ssh user@desthost "cat - > /data/backups/backup.tar"
或者只是使用您选择的方法将生成的备份文件保存到其他服务器上(例如,共享驱动器,scp
,rsync
)
答案 1 :(得分:0)
我有相同的需求,我使用nfs
来解决它。
服务器A上的mysql,我想备份到服务器B。
服务器A上的装载服务器B的目录/ data / mysql_data:
[root@server_a ~]# mount -t nfs server_b:/data/mysql_data /mysql_data_server_b
然后开玩笑地将输出指向mysql_data_server_b;
nfs环境是必需的:
yum install -y nfs-utils