Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menyebabkan kebuntuan di MySQL

Ada banyak posting untuk ini dengan menggunakan dua sesi.

https://dba.stackexchange.com/questions/309/code -untuk-mensimulasikan-kebuntuan

http://www.xaprb.com/blog/2006/08/08/how-to-deliberately-cause-a-deadlock-in-mysql/

Metode disalin dari artikel kedua di atas

Pertama, pilih nama tabel yang tidak digunakan. Saya akan menggunakan test.innodb_deadlock_maker. Berikut adalah pernyataan yang perlu Anda jalankan:

create table test.innodb_deadlock_maker(a int primary key) engine=innodb;
insert into test.innodb_deadlock_maker(a) values(0), (1);

Sekarang tabel dan datanya sudah diatur. Selanjutnya, jalankan perintah berikut pada dua koneksi berbeda:

-- koneksi 0

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 0;
update test.innodb_deadlock_maker set a = 0 where a <> 0;

-- koneksi 1

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 1;
update test.innodb_deadlock_maker set a = 1 where a <> 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MaxListenersExceededWarning:Kemungkinan kebocoran memori EventEmitter terdeteksi. 11 daftar pesan ditambahkan. Gunakan emitter.setMaxListeners() untuk meningkatkan batas

  2. Kesalahan MySQL 1 (HY000) Masalah membuat file Errcode 2

  3. #162 - Entri duplikat 0' untuk kunci 'PRIMARY'

  4. Kueri bersarang di node js menggunakan mysql

  5. Alternatif untuk banyak boolean di MySQL?