Exécuter MySQLDump sans verrouillage de table
Dans ce scénario, vous souhaitez répliquer une base de données de production en direct dans une base de données de développement locale sans provoquer de verrouillage de table sur le serveur de production. Votre approche actuelle utilisant mysqldump déclenche des verrous de table pendant le processus.
Pour surmonter ce défi, plusieurs options sont disponibles. L’une utilise l’option --lock-tables=false. Cependant, il convient de noter que cette option peut ne pas fonctionner dans certaines circonstances.
Vous pouvez également utiliser l'option --single-transaction, qui est particulièrement efficace lorsque vous travaillez avec des tables InnoDB. En définissant --single-transaction=TRUE, vous pouvez lancer un seul instantané cohérent de la base de données au moment du vidage, éliminant ainsi le besoin de verrous de table.
Pour les bases de données InnoDB, la commande à utiliser est :
mysqldump --single-transaction=TRUE -u username -p DB
Cette approche exécutera avec succès un processus MySQLDump sans verrouiller les tables, vous permettant de copier la base de données de production dans votre environnement de développement local sans causer de perturbations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!