MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”

时间:2022-10-03 09:24:08

启动MySQL服务的时候,报下面警告:

[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)

[Warning] Buffered warning: Changed limits: max_connections: 214 (requested 3000)

[Warning] Buffered warning: Changed limits: table_open_cache: 400 (requested 2000)


截图如下:

MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”


问题原因:

用户需要打开的文件数超过了上限,通过命令“ulimit -a”可查看如下信息:

 MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”

可以看到该用户的最大打开文件数为1024个,而我启动的mysql服务需要打开15000个,所以出现了上述的警告。出现了这个警告后,mysql服务是正常可用的,只是性能没有达到最优。下面我们着手解决这个问题。


首先在文件sudo vi /etc/security/limits.conf中追加下面信息:

liyuming hard nofile 65535

其中liyuming为我当前使用的linux用户。截图如下:

MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”


然后退出该终端,再重启一个终端,执行命令:ulimit -n 65535。具体截图如下:

MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”


重启mysql服务,问题解决。截图如下:

MySQL启动报“[Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000)”