我有一台服务器,/
分区大小为 20GB。
数据库存储在/mnt/mysql-data
大小为 500GB 的分区中。
现在问题来了。每当我运行mysqldump
它时,它都会将分区填充/
到 100%。我已经tmpdir
将/mnt/mysql-data/tmp
. 我的数据库总共大约 40GB,现在我想备份它们,/mnt/mysql-data/backups
但我无法继续,因为/
分区已满 100%。我的 mysqldump 命令是:mysqldump --all-databases > /mnt/s3share/backup.sql";
服务器详情:
10.2.22-MariaDB-log MariaDB 服务器
CentOS Linux 版本 7.7.1908(核心)
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 217M 7.6G 3% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/xvda2 24G 2.4G 20G 11% /
/dev/xvda1 976M 168M 757M 19% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1000
/dev/xvdc1 500G 123G 378G 25% /mnt/mysql-data
tmpfs 1.6G 0 1.6G 0% /run/user/1001
MariaDB [db_inbox]> show global variables like "%tmp%";
+----------------------------+----------------------+
| Variable_name | Value |
+----------------------------+----------------------+
| default_tmp_storage_engine | |
| encrypt_tmp_disk_tables | OFF |
| encrypt_tmp_files | OFF |
| innodb_tmpdir | |
| max_tmp_tables | 32 |
| slave_load_tmpdir | /mnt/mysql-data/tmp |
| tmp_disk_table_size | 18446744073709551615 |
| tmp_memory_table_size | 16777216 |
| tmp_table_size | 16777216 |
| tmpdir | /mnt/mysql-data/tmp |
+----------------------------+----------------------+
10 rows in set (0.00 sec)
更新#1:
我忘了提到*.sql
备份正在写入/mnt/s3share/backups/
安装的文件夹,s3fs
并且它的缓存必须写入,这可能是在创建 sql 转储时被填满/tmp
的原因。/
但是,当我运行备份并观察/tmp
变化时,它没有显示任何增长。但是当我执行lsof
命令时,/tmp
我可以看到大量文件被删除。会是这样吗?