Mysql
 sql >> Base de données >  >> RDS >> Mysql

tables de verrouillage de test mysqldump

Utilisez --single-transaction pour éviter les verrous de table sur les tables InnoDB.

Il n'y a rien que vous puissiez vraiment faire à propos de MyISAM, bien que vous ne devriez vraiment pas utiliser MyISAM. La meilleure solution consiste à créer un réplica en lecture et à effectuer des sauvegardes à partir du réplica afin que les verrous n'affectent pas l'application.

Ce que vous devriez trouver, c'est que pendant qu'une sauvegarde est en cours d'exécution, un READ LOCAL le verrou est maintenu sur les tables de la base de données unique en cours de sauvegarde, ce qui signifie que vous pouvez lire à partir des tables mais les écritures (insertion/mise à jour/suppression) bloqueront sauf pour certains inserts sur MyISAM qui peuvent être réalisés sans perturber la serrure. Ceux-ci peuvent être autorisés. Le moyen le plus simple de voir cela se produire est d'interroger à plusieurs reprises SHOW FULL PROCESSLIST; pour trouver les threads qui bloquent.