Bueno, no siempre llevare un órden con los blogs que les vaya dejando, dado que algunos se me van presentando en la vida diaria, entonces los voy a venir postiando a como se presenten, abra post sencillos y otros mas extraños, no en orden.
En estos días se me presento el hecho de migrar unos usuarios desde un servidor a otro, y apesar de que existen varias formas yo les voy a presentar una:
Primero que nada vamos a requerir obtener los usuarios del servidor ORIGEN y a las base de datos que tienen acceso, para esto ejecutamos lo siguiente y nos genera un archivo de salida (usuarios_bds.sql)
mysql "SELECT DISTINCT CONCAT('SHOW GRANTS FOR ''', user, '''@''', host, ''';') AS query FROM mysql.user;" > usuarios_bds.sql
ó internamente, consultando la base de datos mysql:
SELECT DISTINCT CONCAT('SHOW GRANTS FOR ''', user, '''@''', host, ''';') AS query FROM mysql.user;
El resultado se ejecuta, y se manda a otro nuevo archivo(privilegios_usuarios.sql), que ya vendrian siendo los privilegios que se estan migrando:
mysql -u root -p -Bse "SOURCE usuarios_bds.sql" > privilegios_usuarios.sql
Por ultimo en el servidor donde se migran los usuarios(DESTINO) se ejecuta el archivo de algunas de las siguientes dos formas:
Forma 1:
mysql -u root -p -Bse "SOURCE privilegios_usuarios.sql"
Forma 2:
mysql -u root -p -Bse < privilegios_usuarios.sql;
En el camino me encontré tambien que copiando todas las base de datos con un:
mysqldump -u root -p --all-databases > dump_completo.sql
Se copia el archivo y luego se hace un restore de ellas
mysql -u root -p < dump_completo.sql
mysqldump -u root -p --all-databases > dump_completo.sql
Se copia el archivo y luego se hace un restore de ellas
mysql -u root -p < dump_completo.sql
update user set password=PASSWORD("nuevacontrasenia") where User='usuario';
Refrescamos los privilegios y listo:
Flush privileges;
Saludos y espero les sirva..
No hay comentarios.:
Publicar un comentario