Me estoy mudando de un servidor a otro y quiero hacer una copia de seguridad de todas las bases de datos + usuarios / privilegios / contraseñas de mi servidor MySQL. Encontré hacer una copia de seguridad de una base de datos usando mysqldump
, pero no puedo entender, cómo hacer una copia de seguridad de todos los usuarios y los privilegios otorgados. ¿Hay alguna manera de lograr esto o tengo que configurar esto recientemente en el nuevo servidor?
mysql
migration
installation
Nidhoegger
fuente
fuente
Respuestas:
La base de datos 'mysql' contiene usuarios / privilegios / contraseñas. Así que tome el volcado de la base de datos mysql junto con otras bases de datos
Estas tablas de base de datos mysql contienen información de concesión
usuario: cuentas de usuario, privilegios globales y otras columnas sin privilegios.
db: privilegios a nivel de base de datos.
tables_priv: privilegios a nivel de tabla.
columnas_priv: privilegios a nivel de columna.
procs_priv: procedimiento almacenado y privilegios de función.
Después de restaurar la verificación cruzada con
fuente
mysql.user
puede fallar debido a cambios en el esquema.mysql_upgrade
es un script para encargarse de los cambios de esquema. Pero espera que realice un cambio importante a la vez, y en el lugar, no recargue. Investigarlo. (Lo siento, no tengo experiencia en el área de actualizaciones.)flush privileges;
en el nuevo mysql. Likemysql -u root -p -e'flush privileges;'
This también puede / establecerá su contraseña de root mysql en su nuevo servidor para que sea la contraseña de root de su antiguo servidor, así que asegúrese de saber cuál es.Este script PHP se inspiró en la necesidad de hacer lo mismo que la pregunta original donde los servidores en cuestión ejecutaban versiones diferentes de MariaDB. Como es PHP, debería funcionar en cualquier plataforma que admita PHP (versión 7.3 o superior).
fuente