sql >> Databasteknik >  >> RDS >> Mysql

mysqldump testa låsningstabeller

Använd --single-transaction för att undvika tabelllås på InnoDB-tabeller.

Det finns ingenting du egentligen kan göra åt MyISAM, även om du egentligen inte borde använda MyISAM. Den bästa lösningen är att skapa en läsreplika och göra säkerhetskopior från repliken så att låsen inte påverkar applikationen.

Vad du bör hitta är att medan en säkerhetskopia körs, en READ LOCAL lås hålls på tabellerna i den enda databas som för närvarande säkerhetskopieras, vilket betyder att du kan läsa från tabellerna men skrivning (infoga/uppdatera/ta bort) kommer att blockera förutom vissa insatser på MyISAM som kan uppnås utan att störa låset. De kan vara tillåtna. Det enklaste sättet att se detta hända är att upprepade gånger fråga SHOW FULL PROCESSLIST; för att hitta trådar som blockerar.




  1. Varför använda INCLUDE-satsen när du skapar ett index?

  2. SQL Server 2008 Support upphör. Vad nu?

  3. mySQL - Ska jag avnormalisera?

  4. MySQL - Varför ignoreras COLLATION-regler av LIKE-operatorn för tyska ß-tecken