Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak spowodować zakleszczenie w MySQL

Istnieje wiele postów na to za pomocą dwóch sesji.

https://dba.stackexchange.com/questions/309/code -symulować-zakleszczenie

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

Metoda skopiowana z drugiego artykułu powyżej

Najpierw wybierz nieużywaną nazwę tabeli. Użyję test.innodb_deadlock_maker. Oto instrukcje, które musisz wykonać:

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

Teraz tabela i jej dane są skonfigurowane. Następnie wykonaj następujące czynności na dwóch różnych połączeniach:

-- połączenie 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;

-- połączenie 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. Jak eksportować bazy danych za pomocą wiersza poleceń?

  2. Grupować według dnia i nadal wyświetlać dni bez wierszy?

  3. Połączenie MySQL przez tunel SSH

  4. Jak usunąć jednocześnie szereg rekordów w MySQL?

  5. Wyjątek w głównym wątku java.lang.IncompatibleClassChangeError:Znaleziono interfejs org.apache.hadoop.mapreduce.JobContext, ale oczekiwano klasy?