AliSQL支持通过异步删除大文件的方式保证系统稳定性。
背景信息
使用InnoDB引擎时,直接删除大文件会导致POSIX文件系统出现严重的稳定性问题,因此InnoDB会启动一个后台线程来异步清理数据文件。当删除单个表空间时,会将对应的数据文件先重命名为临时文件,然后清除线程将异步、缓慢地清理文件。
说明 AliSQL提供清除文件日志来保证DDL语句的原子性。
AliSQL支持通过异步删除大文件的方式保证系统稳定性。
使用InnoDB引擎时,直接删除大文件会导致POSIX文件系统出现严重的稳定性问题,因此InnoDB会启动一个后台线程来异步清理数据文件。当删除单个表空间时,会将对应的数据文件先重命名为临时文件,然后清除线程将异步、缓慢地清理文件。
mysql> SHOW GLOBAL VARIABLES LIKE '%data_file_purge%';
+----------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------+-------+
| innodb_data_file_purge | ON |
| innodb_data_file_purge_all_at_shutdown | OFF |
| innodb_data_file_purge_dir | |
| innodb_data_file_purge_immediate | OFF |
| innodb_data_file_purge_interval | 100 |
| innodb_data_file_purge_max_size | 128 |
| innodb_print_data_file_purge_process | OFF |
+----------------------------------------+-------+
参数说明如下。
参数 | 说明 |
---|---|
innodb_data_file_purge | 是否启用异步清除策略。 |
innodb_data_file_purge_all_at_shutdown | 正常关机时全部清理。 |
innodb_data_file_purge_dir | 临时文件目录。 |
innodb_data_file_purge_immediate | 取消数据文件的链接但不清理。 |
innodb_data_file_purge_interval | 清理时间间隔。单位:ms。 |
innodb_data_file_purge_max_size | 每次清理单个文件大小的最大值。单位:MB。 |
innodb_print_data_file_purge_process | 是否打印文件清理工作进程。 |
set global INNODB_DATA_FILE_PURGE = on;
set global INNODB_DATA_FILE_PURGE_INTERVAL = 100;
set global INNODB_DATA_FILE_PURGE_MAX_SIZE = 128;
select * from information_schema.innodb_purge_files;
在文档使用中是否遇到以下问题
更多建议
匿名提交