Удаленное создание резервной копии с помощью innobackupex
Я пытаюсь сделать резервную копию с удаленной машины, используя innobackupex.
./innobackupex --host=<mysql_server> --user=<username> <backup_dir>.
Это сбой, так как он не может найти каталог на сервере.
(Errcode: 2 - No such file or directory)
Я предполагаю, что он ищет каталог на локальной машине. Пожалуйста, дайте мне знать, как мы можем запустить резервное копирование удаленно?
1 ответ
Я подозреваю, что вы путаете innobackupex
с чем-то вроде mysqldump
, Первый выполняет резервное копирование фактических файлов таблиц, а второй подключается к серверу базы данных и извлекает данные.
Поскольку он пытается выполнить резервное копирование файлов базы данных, ему, конечно, потребуется доступ к файловой системе на сервере базы данных, и он не может быть запущен удаленно.
Что вы можете сделать, это передать содержимое резервной копии на удаленный компьютер:
innobackupex --stream=tar ./ | ssh user@desthost "cat - > /data/backups/backup.tar"
Или просто сохраните полученный файл резервной копии на другом сервере с методом по вашему выбору (например, общий диск, scp
, rsync
)
У меня такие же потребности, и я использую nfs
чтобы решить это.
mysql на сервере A, и я хочу сделать резервную копию на сервере 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