当我尝试备份我的一个数据库时出现以下错误。
mysqldump: Got error: 23: Out of resources when opening file './mysql_db/table_name.MYD' (Errcode: 24 - Too many open files) when using LOCK TABLES
我尝试使用以下命令增加允许打开的文件数/etc/security/limits.conf
* hard nofile 165535
* soft nofile 165535
我现在看到
ulimit -n
165535
ulimit -Hn
165535
ulimit -Sn
165535
我看到了一些建议改变这些行/usr/lib/systemd/system/mysqld.service
LimitNOFILE=10000
LimitMEMLOCK=10000
但该文件在该位置不存在。
答案1
另一个论坛建议我查看这个帖子。
https://serverfault.com/questions/104618/out-of-resources-for-mysqldump/104686
最后我--single-transaction
在 mysqldump 命令中添加了以下内容
mysqldump --user user_name --password=my_password --single-transaction database_to_export > ~/sql_file.sql
我注意到在引用的帖子的评论中如果--single-transaction
使用时出现问题--lock-all-tables
可能对某些人也有帮助。