Copiar / Exportar Privilegios de los Usuarios de MySQL

Logo de MySQLEn ocasiones, nos vemos forzados a cambiar de servidor de MySQL por otro de mayor capacidad, o necesitamos tener un respaldo de los usuarios del servidor, o simplemente queremos tener otro servidor con los mismos datos de acceso de un servidor existente. En pocas palabras necesitamos copiar o exportar los usuarios de MySQL de una computadora a otra. La siguiente sentencia SQL te mostrará los usuarios:

SELECT DISTINCT CONCAT (‘SHOW GRANTS FOR `’, user, ‘`@`’, host, ‘`;’) AS query FROM mysql.user;

En este caso en mi servidor de pruebas muestra lo siguiente:

SHOW GRANTS FOR `adiepm`@`%`;
SHOW GRANTS FOR `root`@`127.0.0.1`;
SHOW GRANTS FOR `root`@`::1`;
SHOW GRANTS FOR ``@`localhost`;
SHOW GRANTS FOR `root`@`localhost`;

Ahora, sólo necesito ejecutar cada una de estas líneas como una sentencia separada. Lo que obtengo de ejecutar “SHOW GRANTS FOR `adiepm`@`%`;” es:

GRANT ALL PRIVILEGES ON *.* TO 'adiepm'@'%' IDENTIFIED BY PASSWORD '*XXX...XXX' WITH GRANT OPTION;

Copien y peguen en el nuevo servidor MySQL cada una de las líneas “GRANT” que aparezcan, con la contraseña intacta y estarán listos para conectarse al nuevo con el mismo usuario y contraseña.

Deja un comentario