Erro de permissão de despejo do MySQL

0

Parece estranho, mas ao fazer

mysqldump -h host -u backup -p database | gzip > /tmp/test.gz

Eu obtenho

Access denied for user 'backup'@'%' (using password: YES) when using LOCK TABLES

Ao conectar-se com

mysqldump -h host -u backup -p database

Eu obtenho

mysql> lock tables booking read;
Query OK, 0 rows affected (0.00 sec)

mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

então parece que a permissão está lá

show grants for current_user()

retorna

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'backup'@'%' IDENTIFIED BY PASSWORD 'password here'

Existe algum motivo para não funcionar como mysqldump

EDITAR

Adicionando a permissão de recarregamento que eu posso fazer

FLUSH TABLES WITH READ LOCK , por isso não há problema de permissão

    
por exussum 02.02.2015 / 11:37

1 resposta

0

A partir da Documentação do MySQL em mysqldump

mysqldump requires at least the SELECT privilege for dumped tables, SHOW VIEW for dumped views, TRIGGER for dumped triggers, and LOCK TABLES if the --single-transaction option is not used. Certain options might require other privileges as noted in the option descriptions.

Você disse em seu comentário

There is a trigger but its not needed ( in the backup)

Você precisa do privilégio TRIGGER ou pode emitir o mysqldump como este

mysqldump -h host -u backup -p database --skip-triggers | gzip > /tmp/test.gz

Experimente!

    
por 02.02.2015 / 20:07