mariabackup 失败,错误:无法 mkdir 2:/data/backups/mariadb/

mariabackup 失败,错误:无法 mkdir 2:/data/backups/mariadb/

尝试使用 mariabackup 备份我们所有的数据库。首先创建备份目录如下

mkdir -p /mnt/data/backup/mariadb
chown -R mysql:mysql /mnt/data/backup/mariadb

并继续进行备份

# mariabackup --backup --target-dir=/mnt/data/backups/mariadb/ --user=root --password=xxxxxxxx
[00] 2022-02-06 11:28:46 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /mnt/data/mysql/mysql.sock
[00] 2022-02-06 11:28:46 Using server version 10.3.28-MariaDB
mariabackup based on MariaDB server 10.3.28-MariaDB Linux (x86_64)
[00] 2022-02-06 11:28:46 uses posix_fadvise().
[00] 2022-02-06 11:28:46 cd to /mnt/data/mysql/
[00] 2022-02-06 11:28:46 open files limit requested 0, set to 1024
[00] 2022-02-06 11:28:46 mariabackup: using the following InnoDB configuration:
[00] 2022-02-06 11:28:46 innodb_data_home_dir = 
[00] 2022-02-06 11:28:46 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2022-02-06 11:28:46 innodb_log_group_home_dir = ./
[00] 2022-02-06 11:28:46 InnoDB: Using Linux native AIO
2022-02-06 11:28:46 0 [Note] InnoDB: Number of pools: 1
[00] 2022-02-06 11:28:46 Error: cannot mkdir 2: /mnt/data/backups/mariadb/

尝试了谷歌搜索和各种选项,但没有效果,所以最后尝试不使用--target-directory选项,并再次备份,成功运行并得到这个

# ls -ld /mnt/data/backup
drwxr-xr-x 3 mysql mysql 21 Feb  6 11:41 /mnt/data/backup

# pwd
/mnt/data/mysql

# ll
total 8
drwxr-xr-x  3 mysql mysql   21 Feb  6 11:41 backup
drwxr-xr-x 27 mysql mysql 4096 Feb  4 19:07 mysql
drwx------ 27 root  root  4096 Feb  6 11:22 xtrabackup_backupfiles

我做错了什么,或者如何使用 ----target-directory 运行它

答案1

你的命令有拼写错误。命令

mkdir -p /mnt/data/backup/mariadb
chown -R mysql:mysql /mnt/data/backup/mariadb

创建了目录 /mnt/data/backup/mariadb,但是命令

mariabackup --backup --target-dir=/mnt/data/backups/mariadb/ ...

要求mariabackup写入 /mnt/data/backups/mariadb. 父目录 /mnt/data/backups该目录可能不存在。由于mariabackup根据其手册页,仅在必要时创建目标目录本身,而不会创建通向该目录的路径,因此会出错。

答案2

感谢 @tilman schmidt @Rick James 的指导。我更正了拼写错误和路径,还删除了 mariadb 文件夹,即 /mnt/data/backup/玛丽亚数据库

并再次运行该命令,它成功运行。

mariabackup --backup --target-dir=/mnt/data/backup/mariadb/ --user=root --password=xxxxxxxx

相关内容