Peringatan mysqli_connect hy000 2006 server mysql telah hilang

Kesalahan MySQL yang ditakuti ini dan Peringatan selanjutnya disebabkan, kecuali dalam kasus yang jarang terjadi, karena kurangnya sumber daya yang tersedia untuk MySQL, seperti yang diperlukan untuk pengoperasian instalasi Drupal Anda. Mengizinkan sumber daya yang diperlukan untuk MySQL sering kali menyelesaikan masalah ini. Juga, mudah diselesaikan, jika Anda tahu bagaimana melanjutkannya

pengantar

Berikut adalah panduan langkah demi langkah, yang sama-sama valid untuk server Linux Anda serta instalasi Windows MySQL lokal yang mungkin Anda gunakan sebagai instalasi percobaan bersama dengan instalasi Drupal lokal Anda

MySQL hadir dengan konfigurasi default dari sumber daya yang akan digunakan, ditentukan dalam "my. cnf" (Linux) atau "saya. ini" (Windows) selama instalasi MySQL

  • Di Linux file ini terletak di /etc/my.cnf_ untuk mengatur opsi global, atau /usr/local/var/mysql-data-dir/my.cnf untuk mengatur opsi khusus server
  • Di Windows file ini terletak secara default di C:\Program Files\MySQL\MySQL Server X.Y\my.ini

Sumber daya yang diizinkan oleh konfigurasi default biasanya tidak cukup untuk menjalankan aplikasi intensif sumber daya. Anda harus mengubah spesifikasi sumber daya berikut jika tersedia di file konfigurasi asli Anda, atau menambahkannya ke file konfigurasi jika belum ditentukan (karena beberapa tidak ada secara default)

Penting. Ingatlah untuk menyimpan file cadangan sebelum Anda melakukan apa pun. Anda juga harus memuat ulang layanan MySQL setelah melakukan perubahan pada file konfigurasi ini

#MyISAM specifications

[mysqld]
port		= 3306
socket		= /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 64M
table_open_cache = 4096
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 64M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
# The query_cache_size is deprecated in MySQL 5.7.20, and is removed in MySQL 8.0.
# Also https://www.percona.com/blog/2015/01/02/the-mysql-query-cache-how-it-works-and-workload-impacts-both-good-and-bad/
#query_cache_size = 32M

#InnoDB specifications

innodb_buffer_pool_size = 384M
innodb_log_file_size = 10M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 180

Penting. table_cache_ diubah namanya menjadi table_open_cache di MySQL 5. 1. 3 (Perubahan pada MySQL 5. 1. 3). Jika Anda menjalankan MySQL versi lama maka Anda harus mengganti table_open_cache dengan table_cache

Catatan. Diasumsikan di sini bahwa Anda menggunakan tabel database InnoDB, karena Drupal adalah aplikasi intensif sumber daya. Jika Anda tidak menggunakan tabel database InnoDB, coba ubah ini, mengingat fakta bahwa Anda mendapatkan Warning: MySQL server has gone away - tampaknya berarti pengaturan Anda intensif sumber daya. Konversikan Tabel MyISAM ke InnoDB

Dari mana spesifikasi ini berasal?

MySQL menyediakan contoh file konfigurasi di dalam paketnya. Mereka disebut my-huge.ini, /etc/my.cnf0, /etc/my.cnf1 dan lain-lain dan mereka dapat ditemukan di direktori default MySQL. Perlu diingat, untuk Linux ekstensi filenya adalah /etc/my.cnf2. Jelajahi dan tentukan mana yang paling sesuai dengan sistem Anda. Rekomendasi di atas, yang disediakan di sini sebagai pedoman awal, akan berhasil dalam kebanyakan kasus Drupal dan rata-rata spesifikasi mesin modern

PHP 7. 4 sekarang dirilis ???, dan dilengkapi dengan dukungan untuk plugin autentikasi kata sandi baru MySQL 8. caching_sha2_password

Jika Anda telah menggunakan MySQL 8 dengan versi PHP yang lebih lama dari 7. 3, Anda mungkin mengautentikasi ke database menggunakan mysql_native_password. Dengan peningkatan ke 7. 4, PHP secara native mendukung plugin otentikasi default baru caching_sha2_password. Dua kesalahan berikut mungkin muncul jika Anda telah menggunakan MySQL 8 dengan PHP 7. 3 atau lebih lama, dan menggunakan plugin mysql_native_password untuk menangani kurangnya dukungan PHP untuk plugin caching_sha2_password baru

Unexpected server response while doing caching_sha2 auth: 109
mysqli_real_connect(): (HY000/2006): MySQL server has gone away

Posting ini adalah untuk memberikan beberapa informasi cepat tentang cara memperbaikinya

Dari PHP7. 4, PHP secara native mendukung caching_sha2_password. Solusi termudah adalah mengubah pengguna yang ada yang Anda sambungkan ke database untuk menggunakan plugin baru

Umpan balik berhasil dikirim Terima kasih atas umpan balik Anda yang berharga. Kami akan menggunakannya untuk membuat matomo. org lebih baik lagi

  • Rumah
  • Membantu
  • Instalasi & Pemeliharaan
  • Matomo On-Premise (di-hosting sendiri)
  • Memecahkan masalah Basis Data

Bagaimana cara memperbaiki kesalahan "Mysql Server telah hilang"?

Server MySQL telah hilang (kesalahan 2006) memiliki dua penyebab dan solusi utama

  • Waktu server habis dan sambungan ditutup. Untuk memperbaikinya, periksa bahwa wait_timeout variabel mysql di my. file konfigurasi cnf cukup besar, misal wait_timeout = 28800
  • Anda mungkin juga perlu meningkatkan variabel mysql innodb_log_file_size di my. konfigurasi cnf misalnya innodb_log_file_size = 128MB atau lebih tinggi
  • Server menjatuhkan paket yang salah atau terlalu besar. Jika mysqld mendapatkan paket yang terlalu besar atau salah, diasumsikan ada yang tidak beres dengan klien dan menutup koneksi. Untuk memperbaikinya, Anda dapat meningkatkan batas ukuran paket maksimal max_allowed_packet di my. file cnf, mis. atur max_allowed_packet = 128M, lalu mulai ulang server MySQL Anda. sudo /etc/init.d/mysql restart
  • Server basis data kehabisan ruang. Hal ini dapat terjadi saat melakukan pembaruan database Matomo yang memerlukan perubahan Skema DB (Khusus untuk database besar)

Setelah Anda melakukan perubahan ini, dan memulai ulang server MySQL atau MariaDB Anda, masalahnya harus diperbaiki dan tidak ada lagi kesalahan yang dipicu. Jika tidak, coba tingkatkan nilai 128M_ menjadi 256M misalnya. Di situs web dengan banyak lalu lintas dan data, Anda bahkan mungkin perlu meningkatkan nilainya menjadi 1024M

Jika perubahan di atas tidak menyelesaikan masalah dan jika Anda menggunakan adaptor MYSQLI di Matomo, cobalah beralih ke wait_timeout = 288000 di file wait_timeout = 288001 Anda

Anda mungkin tertarik untuk mempelajari lebih lanjut tentang Matomo Analytics untuk mengukur situs web dan aplikasi Anda serta tetap mengontrol data analitik Anda

Bagaimana cara memperbaiki kesalahan server MySQL telah hilang?

Untuk mengatasi masalah ini, pastikan bahwa waktu tunggu aplikasi lebih singkat daripada waktu tunggu MySQL, dan pastikan aplikasi Anda menutup koneksi yang menganggur . Jika waktu koneksi habis, tingkatkan waktu tunggu untuk MySQL dengan menambah parameter wait_timeout dan interactive_timeout dengan menggunakan grup parameter kustom.

Apa artinya server MySQL telah hilang?

Server MySQL telah hilang kesalahan, yang berarti bahwa server MySQL (mysqld) kehabisan waktu dan menutup koneksi . Secara default, MySQL akan menutup koneksi setelah delapan jam (28800 detik) jika tidak terjadi apa-apa.

Kelas mana yang berguna untuk di-debug ketika kita gagal terhubung ke MySQL?

Error class berguna untuk debug ketika kita gagal terhubung ke MySQL. Misalnya ACCESS DENIED ERROR ketika username atau password salah. Metode connect() dapat melontarkan pengecualian kesalahan Database jika salah satu parameter yang diperlukan salah. Misalnya, jika Anda memberikan nama database yang tidak ada di MySQL.