2000张表的备份,直接shell中可以执行成功,但使用python调用相同的指令报 'Too many open files'
# ulimit -n
65536
[root@my3306.sock][(none)]> show variables like '%open%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| have_openssl | YES |
| innodb_open_files | 8096 |
| open_files_limit | 65536 |
| table_open_cache | 8096 |
| table_open_cache_instances | 16 |
+----------------------------+-------+
5 rows in set (0.00 sec)
[root@my3306.sock][(none)]> select count(*) from information_schema.tables;
+----------+
| count(*) |
+----------+
| 3328 |
+----------+
1 row in set (0.02 sec)
命令:
/bin/sh -c /opt/agent/tools/xtrabackup/bin/xtrabackup --port=3306 --host=127.0.0.1 --user=root --password=xxx --no-server-version-check --compress --compress-threads=4 --read-buffer-size=128M --backup --stream=xbstream --extra-lsndir=/data/backup/3306/xtrabackup/last_backup --target-dir=/data/backup/3306/xtrabackup/full_backup | /usr/bin/s3cmd --host=http://ss3-cn-shanghai-dev.voneyun.com --no-ssl --host-bucket=%\(bucket\).ss3-cn-shanghai-dev.xx.com --access_key=xxx --secret_key=xxx put - s3://rds-sbx-backup/1554367298511441920/xtrabackup/test_backup_053
错误信息:
2022-08-03T19:04:34.397071+08:00 2 [Note] [MY-011825] [Xtrabackup] Compressing and streaming ./test_db_001/test_table_466.ibd
2022-08-03T19:04:34.397824+08:00 2 [Note] [MY-011825] [Xtrabackup] Done: Compressing and streaming ./test_db_001/test_table_466.ibd
2022-08-03T19:04:34.398012+08:00 2 [ERROR] [MY-012592] [InnoDB] Operating system error number 24 in a file operation.
2022-08-03T19:04:34.398056+08:00 2 [ERROR] [MY-012596] [InnoDB] Error number 24 means 'Too many open files'
2022-08-03T19:04:34.398076+08:00 2 [Note] [MY-012597] [InnoDB] Refer to your operating system documentation for operating system error code information.
2022-08-03T19:04:34.398095+08:00 2 [ERROR] [MY-012646] [InnoDB] File ./test_db_001/test_table_210.ibd: 'open' returned OS error 83. Cannot continue operation
2022-08-03T19:04:34.398113+08:00 2 [ERROR] [MY-012981] [InnoDB] Cannot continue operation.