sql >> Base de Datos >  >> RDS >> Mysql

Cómo exportar e importar usuarios existentes (¡con sus privilegios!)

Una de las formas más fáciles que he encontrado para exportar usuarios es usando la herramienta pt-show-grants de Percona. El kit de herramientas de Percona es gratuito, fácil de instalar y de usar, con mucha documentación. Es una manera fácil de mostrar a todos los usuarios oa usuarios específicos. Enumera todas sus concesiones y salidas en formato SQL. Daré un ejemplo de cómo mostraría todas las concesiones para test_user:

shell> pt-show-grants --only test_user

Ejemplo de salida de ese comando:

GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';

Por lo general, redirijo la salida a un archivo para poder editar lo que necesito o cargarlo en mysql.

Alternativamente, si no quiere usar la herramienta Percona y quiere hacer un volcado de todos los usuarios, puede usar mysqldump de esta manera:

shell> mysqldump mysql --tables user db > users.sql

Nota:--flush-privileges no funcionará con esto, ya que no se volcará toda la base de datos. esto significa que debe ejecutarlo manualmente.

shell> mysql -e "FLUSH PRIVILEGES"