Cara memperbaiki kesalahan MySQL: Terlalu Banyak Koneksi

Pengenalan kesalahan MySQL: Too Many Connections

Ketika Anda memiliki aplikasi web (situs, blog, forum, dll.) Yang banyak diminati, yaitu kunjungan pengguna dalam jumlah besar, ini berarti peningkatan konsumsi di server. Jika aplikasi web tersebut menggunakan database MySQL dan kueri sangat banyak (karena pemrograman web yang buruk atau oleh banyak pengguna yang menggunakan web), ada kemungkinan MySQL akan menampilkan kesalahan ini:

mysqli_connect(): (HY000/1040): Too many connections

Apa yang dimaksud dengan kesalahan MySQL: Too Many Connections?

Ini berarti terlalu banyak permintaan yang masuk ke MySQL, lebih dari yang dapat diterima, lebih dari yang dapat diantrekan atau menunggu.

Bagaimana cara mengatasinya?

Sederhana, kita harus meningkatkan batas maksimum permintaan (koneksi) yang didukung MySQL.

Saya akan memberi Anda dua opsi untuk memperbaiki masalah ini:

1. Kami mengedit file /etc/mysql/my.cfg:

nano /etc/mysql/my.cfg

Di dalamnya kami meletakkan yang berikut di bawah ini di mana dikatakan [mysql]:

max_connections = 500 max_user_connections = 500

Ini akan meningkatkan jumlah koneksi maksimum dari 100 (yang merupakan default) menjadi 500.

Kami menyimpan dan keluar, lalu kami memulai ulang layanan MySQL dan hanya itu. Perubahan ini permanen.

2. Cara lain untuk mengatasi masalah ini adalah dengan mengubah batas maksimum yang sama, tetapi melalui kueri MySQL.

Pertama mari kita tunjukkan batas saat ini:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

Ini akan menunjukkan kepada kita sesuatu seperti ini:

+ ----------------- + ------- + | Variable_name | Nilai | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

Dengan kata lain, batas saat ini adalah 151 koneksi, mari kita naikkan menjadi 500 melalui sebuah query:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

Siap!

Masalah dengan cara ini adalah ketika layanan di-restart, konfigurasi ini hilang.

Untuk memberikan detail ini, Anda dapat membuat skrip bash yang memverifikasi setiap X kali, atau bahkan menambahkan baris ke blok start atau restart daemon 😉

Tapi mengapa saya ingin tahu opsi kedua ini? ... yah, itulah yang biasa aku katakan. Tetapi sebulan yang lalu Server Ubuntu mengabaikan metode No. 2, jadi ... dalam kasus ekstrim OS konyol, kami memiliki opsi kedua yang berfungsi dengan baik 😉


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   nex dijo

    Good post, MySql… mereka banyak menggunakan di FreeBSD,… .KZKG ^ Gaara?,… Alangkah baiknya jika Anda membuat postingan tentang cara install dan konfigurasi MySql di FreeBSD seperti: SSH (secure - shell), SSH (via Web), SFTP (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 dan Ekstensi PhpSysInfo.

    1.    KZKG ^ Gaara dijo

      Untuk melakukan ini, saya harus menginstal FreeBSD, saya rasa saya tidak punya waktu sekarang, saya baru saja berganti pekerjaan dan saya memiliki banyak tanggung jawab baru 🙁

  2.   Saul dijo

    Saya baru-baru ini harus melakukan sesuatu yang serupa untuk proyek dengan nodejs. Dalam kasus saya itu meningkat menjadi 250 dan itu sudah cukup, untuk saat ini saya baik-baik saja. Terima kasih untuk informasi

  3.   Francisco dijo

    Halo, bisakah Anda membantu saya memasukkan /etc/mysql/my.cfg?

    Saya memiliki VPS, tetapi saya tidak bisa masuk dengan PUTTY.

    Salam.

  4.   umpan dijo

    Untuk mengatasi masalah Opsi 1. - Opsi berkomentar, dan menyimpan perubahan saat memulai ulang server, file harus diedit sesuai dengan versi:

    //////////////////////////////////////////////////// ////////////////////
    // Saya mengubah direktori di Ubuntu 16.04 //////////////////////
    //////////////////////////////////////////////////// ////////////////////
    Saya melihat /etc/mysql/mysql.conf.d/mysqld.cnf

    //////////////////////////////////////////////////// ////////////////////
    // Saya mengubah direktori di Ubuntu 15.04 //////////////////////
    //////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    //////////////////////////////////////////////////// ////////////////////
    // Saya mengubah direktori di Ubuntu lama //////////////////////
    //////////////////////////////////////////////////// ////////////////////

    Saya melihat /etc/mysql/my.cnf

    //////////////////////////////////////////////////// ////////////////////
    // tambahkan baris ini di bawah tag [mysqld] atau [mysql] //
    // Kemudian restart server //
    //////////////////////////////////////////////////// ////////////////////
    max_koneksi = 500

  5.   marah dijo

    Tutorial dari awal memberi tahu Anda cara mengubahnya