mariabackup:空备份文件

时间:2018-07-31 04:45:27

标签: mariadb centos7 database-backups

我正在尝试在CentOS 7.5上自动执行MariaDB Server 10.2.15中某些mysql数据库的备份:

mariabackup --backup --target-dir=/srv/db_backup --databases="wordpress" --xbstream | \ 
openssl enc -aes-256-cbc -k mysecretpassword > \ 
$(date +"%Y%m%d%H").backup.xb.enc

我期望的是/srv/db_backup中名为$(date +"%Y%m%d%H").backup.xb.enc的文件

我找到的是我的主目录中名为$(date +"%Y%m%d%H").backup.xb.enc的文件,文件大小为0,而/srv/db_backup的目录类似于:

[root@wordpressdb1 ~]# ls -la /srv/db_backup/
total 77868
-rw-------  1 root root    16384 Jul 31 14:30 aria_log.00000001
-rw-------  1 root root       52 Jul 31 14:30 aria_log_control
-rw-------  1 root root      298 Jul 31 14:30 backup-my.cnf
-rw-------  1 root root      938 Jul 31 14:30 ib_buffer_pool
-rw-------  1 root root 79691776 Jul 31 14:30 ibdata1
-rw-------  1 root root     2560 Jul 31 14:30 ib_logfile0
drwx------  2 root root       19 Jul 31 14:30 wordpress
-rw-------  1 root root      103 Jul 31 14:30 xtrabackup_checkpoints
-rw-------  1 root root      458 Jul 31 14:30 xtrabackup_info

所有进一步运行mariabackup命令的尝试均失败:

mariabackup: Can't create/write to file '/srv/db_backup/ib_logfile0' \
(Errcode: 17 "File exists")
mariabackup: error: failed to open the target stream for 'ib_logfile0'.

我做错了什么?

编辑 第一个错误是openssl -aes-256-cbc中缺少破折号

现在我看到了:

180731 15:18:37 Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
Error: failed to execute query FLUSH NO_WRITE_TO_BINLOG TABLES: Access \
denied; you need (at least one of) the RELOAD privilege(s) for this operation

我已向超级用户授予SUPER和RELOAD权限,仍然会收到此错误。

2 个答案:

答案 0 :(得分:0)

部分答案:

“我期望的是/srv/db_backup中名为$(date +"%Y%m%d%H").backup.xb.enc的文件” –然后,您需要指定当前目录以外的目录:

mariadbdump ... > \
/srv/db_backup/$(date +"%Y%m%d%H").backup.xb.enc

至于“无法写”,你从中得到什么

ls -ld /srv/db_backup

答案 1 :(得分:0)

您需要使用-stream = xbstream 而不是-xbstream

您备份到目录中,而不是流中。