Valerio Paoletti Valerio Paoletti - 1 year ago 253
MySQL Question

Buffered warning: Changed limits: max_connections: 214 (requested 800)

Everytime I restart MySQL I have this warning:


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


So I have to change
max_connections
variable:

set global max_connections = 800;


But
/etc/my.cf
has
max_connections
set:

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_connections = 800


I also modified
mysqld.service
:

# Start main service
ExecStart=/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf


I've also updated max open files of Centos from 1024 to 2000:

ulimit -Sa | grep "open files"
open files (-n) 2000


But the problem persists.

Mysql log start:

150924 13:15:04 mysqld_safe mysqld from pid file

/var/run/mysqld/mysqld.pid ended
150924 13:15:04 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2015-09-24 13:15:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-09-24 13:15:04 0 [Note] /usr/sbin/mysqld (mysqld 5.6.25) starting as process 29997 ...
2015-09-24 13:15:04 29997 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2015-09-24 13:15:04 29997 [Warning] Buffered warning: Changed limits: max_connections: 214 (requested 800)

2015-09-24 13:15:04 29997 [Warning] Buffered warning: Changed limits: table_open_cache: 400 (requested 2000)

2015-09-24 13:15:04 29997 [Note] Plugin 'FEDERATED' is disabled.
2015-09-24 13:15:04 29997 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-09-24 13:15:04 29997 [Note] InnoDB: The InnoDB memory heap is disabled
2015-09-24 13:15:04 29997 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-09-24 13:15:04 29997 [Note] InnoDB: Memory barrier is not used
2015-09-24 13:15:04 29997 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-09-24 13:15:04 29997 [Note] InnoDB: Using Linux native AIO
2015-09-24 13:15:04 29997 [Note] InnoDB: Using CPU crc32 instructions
2015-09-24 13:15:04 29997 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-09-24 13:15:04 29997 [Note] InnoDB: Completed initialization of buffer pool
2015-09-24 13:15:04 29997 [Note] InnoDB: Highest supported file format is Barracuda.
2015-09-24 13:15:04 29997 [Note] InnoDB: 128 rollback segment(s) are active.
2015-09-24 13:15:04 29997 [Note] InnoDB: Waiting for purge to start
2015-09-24 13:15:04 29997 [Note] InnoDB: 5.6.25 started; log sequence number 24337684937
2015-09-24 13:15:04 29997 [Note] Server hostname (bind-address): '*'; port: 3306
2015-09-24 13:15:04 29997 [Note] IPv6 is available.
2015-09-24 13:15:04 29997 [Note] - '::' resolves to '::';
2015-09-24 13:15:04 29997 [Note] Server socket created on IP: '::'.
2015-09-24 13:15:04 29997 [Note] Event Scheduler: Loaded 0 events
2015-09-24 13:15:04 29997 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.6.25' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)


I tried all Google solutions, but the result is always the same...

MySQL is running on CentOS Linux release 7.1.1503 (Core).

Thanks!

MNB MNB
Answer Source

Having just spent an hour or two facing the exact same problem on CentOS 7 with MySQL 5.6.26, here's my solution. In addition to raising the max open files (for the mysql user), which it looks like you've already done, you need to add "LimitNOFILE=65535" (or similar depending on how high a limit you want to set) to your mysql.service definition file.

So the complete solution for me was as follows

append these two lines to /etc/security/limits.conf

mysql hard nofile 65535
mysql soft nofile 65535

append this line to /usr/lib/systemd/system/mysqld.service (in the [service] section)

LimitNOFILE=65535

then finally reboot and check that those error messages have disappeared from your mysql error log.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download