¿Cómo hago una copia de seguridad de los usuarios de MySQL y sus privilegios?Copia de seguridad de usuarios de MySQL
¿Algo como mysqldump?
Busco algo como:
mysqldump -d -u root -p MyTable > Schema.sql
¿Cómo hago una copia de seguridad de los usuarios de MySQL y sus privilegios?Copia de seguridad de usuarios de MySQL
¿Algo como mysqldump?
Busco algo como:
mysqldump -d -u root -p MyTable > Schema.sql
Hasta ahora mi experiencia con MySQL no vi nada de usuario de copia de seguridad y sus privilegios a través de una línea de comandos.
pero puedo copia de seguridad de los datos críticos de la copia de seguridad de MySQL
mysqldump -u root -p mysql > mysql.sql
Los usuarios y permisos se almacenan en el 'mysql' llamado databased. Puede usar mysqldump para hacer una copia de seguridad de las tablas en la base de datos llamada 'mysql'.
¿Puedes agregar cómo restaurarlos? – Dementic
@Dementic Consulte http://stackoverflow.com/a/12634618/2310830 – RiggsFolly
mysql -BNe "select concat('\'',user,'\'@\'',host,'\'') from mysql.user where user != 'root'" | \
while read uh; do mysql -BNe "show grants for $uh" | sed 's/$/;/; s/\\\\/\\/g'; done > grants.sql
Lifesaver, esto! – Volomike
Puede base de datos de copia de seguridad de MySQL usando
mysqldump -u root -p mysql > mysql.sql
y restaurar la base de datos MySQL mediante la ejecución de
mysql -uroot -p mysql < mysql.sql
No se olvide de
FLUSH PRIVILEGES
después de restaurar el volcado.
creo que sirve ...
Gracias! Después del comando 'FLUSH PRIVILEGES', todo comenzó a funcionar – Dzamir
Esta es la mejor respuesta porque incluye el comando flush privileges. Otra alternativa es reiniciar el proceso del servidor en lugar de descargar privilegios. – Ligemer
Esto solo está garantizado para funcionar si se restaura a la misma versión de MySQL, la base de datos 'mysql' puede diferir entre versiones y contiene muchas más cosas que solo usuarios/privilegios. Si su intención es migrar sus usuarios y privilegios a otro servidor, la respuesta de @spirit anterior es el camino a seguir. – kostas
probablemente bastante obvio para los buques de comandos de MySQL, pero la respuesta del espíritu por encima tuvo que añadir ppassword -u root después de que ambos comandos mysql
mysql -u root -p -BNe "select concat ('\' ', usuario,' \ '@ \' ', host,' \ '') de mysql.user donde user! = 'Root'" | mientras lees uh; do mysql -u root -ppassword -BNe "show grants for $ uh" | sed 's/$ /; /; s/\\/\/g '; done> grants.sql;
¿cómo debería restablecerse? ¿es solo ejecutando el archivo resultante en el information_schema? –