Kadang teman-teman sering mengalami kendala untuk dump data MySQL/MariaDB dengan pesan error sbb:
ERROR 2006 (HY000): MySQL server has gone away
Berikut tipsnya agar database tersebut dapat di dump dengan lancar tanpa kendala
Biasanya mendapatkan kesalahan semacam ini ketika kalian mencoba mengimpor atau memasukkan data dalam jumlah besar ke dalam database MySQL.
Untuk mengatasi kesalahan ini sbb:
– perbarui file konfigurasi MySQL: my.cnf
– atau, perbarui variabel global secara langsung dengan masuk ke server MySQL
Update my.cnf file
– Buka terminal
– Temukan file `my.cnf` dengan menjalankan perintah berikut:
mysql --help | grep my.cnf
– Muncul tampilan seperti ini:
order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
– Buka file my.cnf di editor mana pun dan tambahkan/perbarui nilai variabel berikut:
[mysqld] max_allowed_packet= 1024M
– Dalam file my.cnf, Kalian juga dapat mencoba meningkatkan nilai wait_timeout:
[mysqld] max_allowed_packet= 1024M wait_timeout= 60000
– Restart MySQL server
Perintah pada Linux & MACOS
LINUX
sudo /etc/init.d/mysqld restart //OR sudo service mysqld restart //OR sudo service mysql restart
MACOS
sudo /usr/local/mysql/support-files/mysql.server restart
Sekarang, Kalian seharusnya dapat bekerja dengan baik dengan kumpulan data MySQL yang besar.
Perbarui variabel global secara langsung dengan masuk ke server MySQL
Pertama-tama, Kalian perlu me-restart server MySQL. Kalian dapat menjalankan perintah yang tercantum di atas untuk me-restart server MySQL.
Setelah itu, Kalian dapat memeriksa daftar semua Variabel Global MySQL dan nilainya dengan perintah berikut:
user@saksenengku:~# mysqladmin variables -u [User Name] -p
Kalian juga dapat memeriksa nilai variabel ini dengan terlebih dahulu masuk ke server MySQL:
user@saksenengku:~# mysql -u [User Name] -p mysql> SHOW VARIABLES;
Untuk memeriksa nilai variabel tertentu:
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
Untuk mengatasi kesalahan MySQL Server Gone Away, Kalian perlu meningkatkan nilai variabel `max_allowed_packet`. Kalian harus menjalankan perintah berikut:
mysql> SET GLOBAL max_allowed_packet=1072731894;
Setelah itu keluar, dan login kembali ke MySQL:
mysql> quit
Ketika Kalian kembali login ke MySQL dan memeriksa nilai `max_allowed_packet`, akan terlihat nilai yang diperbarui.
user@saksenengku:~# mysql -u [User Name] -p mysql> SHOW VARIABLES LIKE 'max_allowed_packet'; +--------------------+------------+ | Variable_name | Value | +--------------------+------------+ | max_allowed_packet | 1072731136 | +--------------------+------------+ 1 row in set (0.00 sec)
Sekarang, Kalian sudah dapat bekerja dengan baik dengan kumpulan data MySQL yang besar.
Semoga ini membantu,
Salam Saksenengku Team