我正在尝试在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权限,仍然会收到此错误。
答案 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
您备份到目录中,而不是流中。