percona-xtrabackup考虑将本地mysql套接字作为默认值,即使在传递主机参数时也是如此



正在尝试对网络中的MySQL数据库进行完整备份。我已经传递了主机参数,但它仍然使用/var/lib/mysql/mysql.sock 上的本地mysql套接字在我的本地机器中备份数据库

当我尝试执行以下命令时

xtrabackup --backup --host='192.168.10.280' --databases="sampledb" --user=dbuser --password=dbpasswd --target-dir=/mnt/s3-restore/bkup

我得到以下输出

200415 19:42:00  version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;host=192.168.10.280;port=3306;mysql_socket=/var/lib/mysql/mysql.sock' as 'dbuser'  (using password: YES) 
200415 19:42:00  version_check Connected to MySQL server
200415 19:42:00  version_check Executing a version check against the server...
200415 19:42:00  version_check Done.
200415 19:42:00 Connecting to MySQL server host: 192.168.10.280, user: sampledb, password: set, port: 3306, socket: /var/lib/mysql/mysql.sock
Using server version 5.6.43-log

想知道在同一台机器上备份是强制性的吗。如果不是比什么参数我缺少。

对此进行了研究,发现Percona Xtrabackup需要访问主机数据库所在的"/var/lib/mysql"。这是从my.cnf中读取的,当您请求@datadir时,可以在实际的SQL cli中提取。

Xtrabackup需要访问MySQL的数据目录(以及MySQL实例(,因此它不能在另一台服务器上运行。但是,它可以由另一个具有SSH(或替代解决方案(的服务器触发。

例如:

ssh serverA "innobackupex --stream=xbstream /var/lib/mysql" > backup.xbstream

最新更新