Saya telah mengatur koneksi maks ke sekitar 2000 di file my.cnf.
max_connections=2048
Saya telah meningkatkan ke 5.5.20 dan sekarang saya melihat baris berikut di log kesalahan.
120201 19:40:24 [Warning] Changed limits: max_open_files: 1024 max_connections: 214 table_cache: 400
Mengapa mysql mengubah nilai koneksi maks ke 214?
# mysqladmin variables | grep max_connections
| max_connections | 214
File lunak dan keras yang terbuka dibatasi oleh OS adalah 1024
# ulimit -Sa | grep "open files"
open files (-n) 1024
# ulimit -Ha | grep "open files"
open files (-n) 1024
Jumlah koneksi maks yang benar-benar digunakan:
# mysql -e"show status like '%used_connections%'"
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 95 |
+----------------------+-------+
ulimit -n 4096
yum
? Jika demikian, paket mana?Jawaban:
Sepertinya tidak masalah bagi saya. Anda tidak dapat memiliki max_connections lebih besar dari itu, karena Anda open_files_limit terlalu rendah. Untuk setiap koneksi, MySQL membuka beberapa file. Coba lihat di sini .
Jadi, Anda harus meningkatkan batas file terbuka pada OS Anda, dan setelah itu, Anda dapat memberi nilai max_connections lebih tinggi.
sumber
Ini tampaknya menjadi masalah yang sama yang saya jawab di stackoverflow di sini , walaupun saya menggunakan CentOS 7 & MySQL 5.6.26
Anda perlu menaikkan batas file terbuka Anda baik untuk pengguna mysql (di limits.conf) dan untuk layanan mysql (dalam file mysql.service)
tambahkan dua baris ini ke /etc/security/limits.conf
tambahkan baris ini ke /usr/lib/systemd/system/mysqld.service (di bagian [layanan])
kemudian akhirnya reboot dan periksa apakah pesan-pesan kesalahan itu telah hilang dari log kesalahan mysql Anda.
sumber
Tampaknya ada beberapa bug di mysqld baru. Saya memiliki masalah yang sama. Pengaturan max_connections menjadi 700 berhasil, tetapi jika saya atur ke 900, itu diatur ulang ke 214 saat startup. Jika ini adalah perubahan yang disengaja, maka itu akan menurunkannya ke 700 atau sesuatu yang serupa, nilai 214 tidak masuk akal.
Bagaimanapun, menaikkan batas deskriptor dengan ulimit -n memperbaiki masalah.
sumber