sql >> Database >  >> RDS >> Mysql

innodb_lock_wait_timeout time-out verhogen

Als dit een webtoepassing is en u probeert vast te houden aan de transactie van de ene pagina naar de andere, niet doen; het zal niet werken.

Wat bedoel je met "net na"? Als je niets doet tussen de twee statements, zou zelfs een time-out van 1 seconde groot genoeg moeten zijn.

mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                         50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                          1 |
+----------------------------+

Om GLOBAL vs SESSION voor VARIABELEN uit te leggen:De GLOBAL-waarde wordt gebruikt om te initialiseren de SESSION-waarde wanneer uw verbinding start. Daarna kunt u de SESSION-waarde wijzigen om van invloed te zijn op wat u aan het doen bent. En het wijzigen van de GLOBAL-waarde heeft geen effect op uw huidige verbinding.

Het wijzigen van de time-out naar 1 is redelijk veilig (als u eenmaal GLOBAL vs SESSION begrijpt). Het enige dat zal veranderen, is de frequentie van het krijgen van die fout.




  1. Lijst van alle tabellen in postgresql information_schema

  2. Gegevens invoegen in SQL Server 2017

  3. Opgeslagen T-SQL-procedure die meerdere id-waarden accepteert

  4. Android:fout bij het kopiëren van database (Sqliite) uit activamap