Comment sauvegarder les utilisateurs MySQL et leurs privilèges?
Quelque chose comme mysqldump?
Je cherche quelque chose comme:
mysqldump -d -u root -p MyTable > Schema.sql
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
Vous pouvez sauvegarder la base de données mysql en utilisant
mysqldump -u root -p mysql > mysql.sql
et restaurer la base de données mysql en exécutant
mysql -uroot -p mysql < mysql.sql
N'oubliez pas de
FLUSH PRIVILEGES
après avoir restauré le vidage.
J'espère que ça aide...
Jusqu'à présent, mon expérience avec MySQL ne permettait pas de sauvegarder les utilisateurs et leurs privilèges via une ligne de commande.
Mais je peux sauvegarder ces données critiques en sauvegardant mysql
mysqldump -u root -p mysql > mysql.sql
Les utilisateurs et les privilèges sont stockés dans le nom de base de données 'mysql'. Vous pouvez utiliser mysqldump pour sauvegarder les tables dans la base de données nommée 'mysql'.
Percona a un excellent outil pour cela. pt-show-grants
videra les utilisateurs et leurs autorisations afin que vous puissiez les recharger facilement.
https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html