error mysql 1205 (hy000) lock wait timeout exceeded


 

jika terdapat error dengan error 1205 (hy000) lock wait timeout exceeded biasanya terjadi aksi locking yang lama / aksi saling menunggu dari sebuah transaksi / query pada mysql solusi jangka pendek adalah menambah limit dari innodb_lock_wait_timeout .untuk rentang nilai tersebut kita dapat setting nilai dari   1 to 1073741824 dengan nilai default 50 (detik).

kita bisa dengan mudah menambahkan dengan set global seperti ini

masuk ke mode mysql dulu mysql -u root -p

SET GLOBAL innodb_lock_wait_timeout = 120;

atau perintah selt selama sesi anda aktif

SET innodb_lock_wait_timeout = 120;

, tetapi biasa akan kembali ke nilai default ketika database  berhenti atau restart

mari kita belajar menambahkan limit pada innodb_lock_wait_timeout secara permanen,

 

masuk ke mode mysql

mysql -u root -p

kemudian cek limit default

show variables like ‘innodb_lock_wait_timeout’;

 

rubah dengan menambahkan pada file mysqld.cnf  pada debian file tersebut terletak di /etc/mysql/mysql.conf.d/mysqld.cnf

pada file mysql.cnf pastikan pada file tersebut diawal [mysqld] bukan [mysql] karena ada beberapa file dengan eksensi .cnf

coba cek dengan masuk ke mysql -u root -p

kemudian jika ada tulisan

unknown variable ‘‘innodb_lock_wait_timeout’

berati anda salah file my.cnf. jika tidak ada apa -apa atau kosong berarti benar dan

restart server anda , den  cek kembali dengan perintah

mysql -u root -p

kemudian

show variables like ‘innodb_lock_wait_timeout’;

innodb_lock_wait_timeout

jika hasilnya sudah berubah maka anda telah berhasil merubah nilai innodb_lock_wait_timeout

semoga berguna 🙂

referensi :

Ditulis dalam mysql. Leave a Comment »

tinggalkan pesan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.