Åbn en mysql kommandovindue og udsend denne kommando:
mysql> FLUSH TABLES WITH READ LOCK;
Dette låser alle tabeller i alle databaser på denne MySQL-instans, indtil du udsteder UNLOCK TABLES (eller afbryd klientforbindelsen, der holder disse læselåse).
For at bekræfte dette kan du åbne et andet kommandovindue og prøve at lave en ALTER , DROP , RENAME eller TRUNCATE . Disse kommandoer hænger og venter på, at læselåsen udløses. Tryk på Ctrl-C for at afslutte ventetiden.
Men mens tabellerne har en læselås, kan du stadig udføre en mysqldump backup.
FLUSH TABLES WITH READ LOCK kommando kan være det samme som at bruge --lock-all-tables mulighed for mysqldump . Det er ikke helt klart, men dette dokument
synes at understøtte det:
Begge FLUSH TABLES WITH READ LOCK og --lock-all-tables bruge sætningen "global læselås", så jeg tror, det er sandsynligt, at disse gør det samme. Derfor bør du være i stand til at bruge denne mulighed til at mysqldump og beskytte mod samtidige ALTER, DROP, RENAME og TRUNCATE.
Vedr. din kommentar:Følgende er fra Guilhem Bichot i MySQL-fejlloggen, som du linkede til:
Ud fra dette lyder det, som om du ikke kan få samtidig adgang under en sikkerhedskopiering og samtidig blokere ALTER, DROP, RENAME og TRUNCATE.