web-dev-qa-db-ja.com

バッファリングされた警告:変更された制限:max_connections:214(要求された800)

MySQLを再起動するたびに、次の警告が表示されます。

[警告]バッファリングされた警告:変更された制限:max_connections:214(要求された800)

したがって、max_connections変数を変更する必要があります。

set global max_connections = 800;

ただし、/etc/my.cfにはmax_connectionsが設定されています。

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

mysqld.serviceも変更しました:

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

Centosの最大オープンファイルも1024から2000に更新しました。

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

しかし、問題は解決しません。

MySQLログの開始:

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)

すべてのGoogleソリューションを試しましたが、結果は常に同じです...

MySQLはCentOS Linuxリリース7.1.1503(コア)で実行されています。

ありがとう!

16

MySQL 5.6.26を搭載したCentOS 7でまったく同じ問題に1〜2時間かかったので、ここで解決策を示します。既に完了しているように見える(mysqlユーザーの)最大オープンファイルを上げることに加えて、「LimitNOFILE = 65535」(または設定する制限の高さに応じて同様)を追加する必要がありますmysql.service定義ファイル。

だから私にとっての完全な解決策は次のとおりでした

これらの2行を/etc/security/limits.confに追加します

mysql hard nofile 65535
mysql soft nofile 65535

この行を/usr/lib/systemd/system/mysqld.serviceに追加します([service]セクション)

LimitNOFILE=65535

最後に再起動して、これらのエラーメッセージがmysqlエラーログから消えていることを確認します。

編集:@SieGeL 以下 に感謝します。「。service」ファイルを直接更新すると、アップグレード時に編集内容が失われます。アップグレード後に編集内容を保持するには、/ etc/systemd/system/mysqld.service.dに追加のconfファイルを作成してsystemdオーバーライドを使用します

20
MNB

更新中に上書きされるため、元のsystemdファイルを編集することはお勧めしません。

制限を変更するには、次の手順を実行します。

mkdir /etc/systemd/system/mysqld.service.d

そのディレクトリ内に、新しいファイルlimits.confを作成し、そのファイルに次を追加します。

[Service]
  LimitNOFILE = 65535

最後にsystemdをリロードします:

systemctl daemon-reload

mysqldを再起動して、変更を有効にします。

systemctl restart mysqld

次のクエリを使用して、変更が成功したことを確認します。

mysql> show variables like '%file%';

次のような行があります。

| open_files_limit                      | 65535  

これで、変更はMySQLの更新に耐えられます。

11
SieGeL