En 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.