mysql dump使用了大量空间

分享于 

3分钟阅读

互联网

 

问题:

我有一个服务器,/分区的大小为20GB。

数据库存储在/mnt/mysql-data分区,大小为500GB。

现在问题是,当我运行mysqldump时,/分区占用到100%,我已经将tmpdir移动到/mnt/mysql-data/tmp,mysql dump命令是:mysqldump --all-databases > /mnt/s3share/backup.sql";

服务器详细信息:

10.2.22 -MariaDB-log MariaDB Server

CentOS Linux release 7.7.190 8 (Core )


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:

查看innodb_ %变量和datadir。


答案2:

mysqldump --all-databases > /mnt/s3share/backup.sql

fuse.s3fs的cache dir更改为/mnt/mysql-data/tmp后,问题得到解决。

这是我在/tmp之前的mount命令:

datastore /mnt/s3share fuse _netdev,allow_other,use_cache=/tmp,passwd_file=$PASSWDFILE 0 0

然后这是新的mount命令/mnt/mysql-data/tmp

datastore /mnt/s3share fuse _netdev,allow_other,use_cache=/mnt/mysql-data/tmp,passwd_file=$PASSWDFILE 0 0



spa  Space  mysqld  Mysqldump  
相关文章