Got error: 1044: Access denied for user when using LOCK TABLES

Vous avez déjà certainement rencontré cette erreur en essayant de dumper vos base de donnée. Le message indique simplement que votre user n’a pas les droits suffissant afin de locker une table.

Si on regarde de plus prêt la base de donnée mysql

  1. /*
  2. use mysql ;
  3. select Host,Db,user,Lock_tables_priv from db ;
  4. +———–+—————+—————+——————+
  5. | Host | Db | user | Lock_tables_priv |
  6. +———–+—————+—————+——————+
  7. | localhost | votre_db | votre_user | N
  8. */

On voit bien ici que « Lock_tables_priv » est à N donc il n’a pas les droits nécessaires. Pour lui donner les droits rien de plus simple.

  1. /*
  2. grant LOCK TABLES ON votre_db.* TO votre_user@localhost;
  3. */

Maintenant « Lock_tables_priv » doit prendre la valeur Y , vous pouvez maintenant faire votre dump.
PS:En environnement de prod il n’est pas conseillé de locker les tables, c’est pour cela que nous passons par un SQL SLAVE pour les DUMP.

Related posts

One Thought to “Got error: 1044: Access denied for user when using LOCK TABLES”

  1. eg1902

    Merci beaucoup pour cette info !

Leave a Comment