我正在尝试使用 innobackupex 从远程机器上进行备份。
./innobackupex --host=<mysql_server> --user=<username> <backup_dir>.
它失败,因为它无法在服务器中找到目录。
(Errcode: 2 - No such file or directory)
我假设它正在搜索本地机器中的目录。请让我知道我们如何远程运行备份?
我正在尝试使用 innobackupex 从远程机器上进行备份。
./innobackupex --host=<mysql_server> --user=<username> <backup_dir>.
它失败,因为它无法在服务器中找到目录。
(Errcode: 2 - No such file or directory)
我假设它正在搜索本地机器中的目录。请让我知道我们如何远程运行备份?
我怀疑你对innobackupex
类似的东西感到困惑mysqldump
。前者备份实际的表文件,而后者连接到数据库服务器并拉取数据。
由于它正在尝试备份数据库文件,因此它当然需要访问数据库服务器上的文件系统,并且不能远程运行。
您可以做的是将备份的内容流式传输到远程计算机:
innobackupex --stream=tar ./ | ssh user@desthost "cat - > /data/backups/backup.tar"
或者只是使用您选择的方法将生成的备份文件保存到不同的服务器上(例如共享驱动器scp
、、rsync
)
我有同样的需求,我用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