users and mysql database mysqldump database-backups grant

mysql copy users and privileges



¿GRANTs mínimos necesarios para mysqldump para volcar un esquema completo?(¡Faltan TRIGGER!) (3)

Tengo un usuario de MySQL llamado dump con las siguientes perms:

GRANT USAGE ON *.* TO ''dump''@''%'' IDENTIFIED BY ... GRANT SELECT, LOCK TABLES ON `mysql`.* TO ''dump''@''%'' GRANT SELECT, LOCK TABLES ON `myschema`.* TO ''dump''@''%''

Quiero volcar todos los datos (disparadores y procedimientos incluidos) utilizando el usuario de volcado . Llamo a mysqldump de la siguiente manera:

mysqldump -u dump -p --routines --triggers --quote-names --opt / --add-drop-database --databases myschema > myschema.sql

Todo está bien con el archivo abandonado, excepto por los desencadenantes, ¡ faltan !

Los desencadenadores se descargan correctamente si intento mysqldump con usuario root MySQL:

mysqldump -u root -p --routines --triggers --quote-names --opt / --add-drop-database --databases myschema > myschema.sql

Entonces, supongo que es un problema permanente ... ¿Cuáles son las subvenciones adicionales que necesita mi usuario de MySQL para hacer el volcado completo correctamente?


¡Encontré la SUBVENCIÓN adicional que necesitaba!

GRANT TRIGGER ON `myschema`.* TO ''dump''@''%''

Aquí tiene la referencia en el documento oficial: http://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html#priv_trigger

El privilegio TRIGGER habilita las operaciones de activación. Debe tener este privilegio para que una tabla cree, suelte o ejecute desencadenantes para esa tabla.


Asumir por volcado completo también significa las VIEW y EVENT s, necesitaría:

GRANT USAGE ON *.* TO ''dump''@''%'' IDENTIFIED BY ...; GRANT SELECT, LOCK TABLES ON `mysql`.* TO ''dump''@''%''; GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON `myschema`.* TO ''dump''@''%'';

y si tiene VIEW s que ejecuta una función, desafortunadamente también necesita EXECUTE .

Mi problema es: ¿por qué necesito SELECT si solo quiero hacer un volcado sin datos?


Encontré, que en algún momento si el usuario de VIEW DEFINER no existe, el volcado falla.

Cámbielo, como se describe there