Ene 152016

Al intentar realizar un volcado de una base de datos mysql con el comando mysqldump, podemos encontrarnos con el error 1044 Access denied when using LOCK TABLES.
1 2 3 4 5 |
$ mysqldump -u usuario -pclave DBNAME > backup.sql mysqldump: Got error: 1044: Access denied for user 'usuario'@'localhost' to database 'DBNAME' when using LOCK TABLES |
Para evitar este problema, basta con utilizar la opción –single-transation:
1 2 3 |
$ mysqldump –-single-transaction -u usuario -pclave DBNAME > backup.sql |
Nota: Esta opción sólo debe usarse si tenemos la garantía de que durante el volcado de la base de datos ningún proceso va a ejecutar alguna de las sentencias ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE o TRUNCATE TABLE.
Alternativamente, si tenemos acceso como administrador, podemos conceder al usuario «usuario» el permiso para bloquear tablas en la base de datos:
1 2 3 4 |
$ mysql -u root -p mysql> GRANT SELECT,LOCK TABLES ON DBNAME.* TO 'usuario'@'localhost'; |
Referencias
- mysqldump: 1044 Access denied when using LOCK TABLES
- Documentación de MySQL: mysqldump single-transaction