mysql - FD_SETSIZE 和 MySQL 的 Catalina 问题,未读取配置

标签 mysql macos-catalina ulimit

我在新安装的 16"Macbook(带有 OSX 10.15.1 Catalina)上运行 MySQL@5.7 时遇到了一个大问题 PDO::__construct():MySQL 服务器已经消失。

这是我在MySQL日志中发现的如下错误导致的。

2019-11-27T13:24:04.835245Z 0 [Warning] File Descriptor 3226 exceeded FD_SETSIZE=1024

经过一些研究,我尝试了类似sudo launchctl limit maxfiles 65536 200000

当我运行 launchctl limit 时,我得到以下数据

    cpu         unlimited      unlimited
    filesize    unlimited      unlimited
    data        unlimited      unlimited
    stack       8388608        67104768
    core        0              unlimited
    rss         unlimited      unlimited
    memlock     unlimited      unlimited
    maxproc     4096           4096
    maxfiles    524288         524288

这对我来说很好。为了使最大进程数和最大文件数正确,我也尝试过

sudo sysctl -w kern.maxfilesperproc=524288

my.cnf 看起来像这样

[mysqld]
open_files_limit=999999
local_infile=ON
secure_file_priv=""
max_allowed_packet=1073741824
max_connections=100000
key_buffer_size=2G
innodb_buffer_pool_size=12G
query_cache_size=67108864
query_cache_type=1
query_cache_limit=4194304
table_open_cache=4096
innodb_buffer_pool_instances=24
innodb_sort_buffer_size=2G
sort_buffer_size=1G
innodb_flush_log_at_trx_commit=0
innodb_log_file_size=3G
interactive_timeout=3600
max_connect_errors=1000000
thread_cache_size=4096
log_error=/var/log/mysql/error.log
[mysqld_safe]
open_files_limit=999999

当然有一个解决方案可以将我的 table_open_cache 更改为较低的值,但这会损害性能,之前我总是将其设置为较高的值。

任何人都知道这个 FD_SETSIZE 来自哪里以及如何更改它以便正确使用它 顺便说一下,重启没有任何影响。

最佳答案

解释问题的资源:https://expressionengine.com/blog/mysql-5.7-server-os-x-has-gone-away

尝试在mysql配置文件(my.cnf)中设置以下环境变量

interactive_timeout = 300
wait_timeout = 300

关于mysql - FD_SETSIZE 和 MySQL 的 Catalina 问题,未读取配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59071588/

相关文章:

ubuntu - docker run --ulimit cpu=10 超时后不会终止 java 进程

mysql - 将列排序规则转换为表/数据库默认值

mysql - 如何对别名列表sql求和

MySQL从一个表中减去第二个表中的某些行的值

swift - 切换到 macOS Catalina 后,Modulemap 将无法编译 - tcp_var.h

macos - 每个进程的最大打开文件数

php - 如何通过php和mysql中的用户类型重定向到不同的页面

ruby - 在 macOS Catalina 上使用 Gem 安装

macos - 无法清理 macOS Catalina 上的空间。 "Other"从 500GB 中取出 370GB,其他工具显示了一半

debian - 如何在 Debian Stretch 中永久更改普通用户打开的文件(ulimit -n)?