Je passe d'un serveur à un autre et je souhaite sauvegarder toutes les bases de données + utilisateurs / privilèges / mots de passe de mon serveur MySQL. J'ai trouvé pour sauvegarder une base de données en utilisant mysqldump
, mais je ne peux pas comprendre comment sauvegarder tous les utilisateurs et les privilèges accordés. Existe-t-il un moyen d'y parvenir ou dois-je configurer ce nouveau sur le nouveau serveur?
mysql
migration
installation
Nidhoegger
la source
la source
Réponses:
La base de données 'mysql' contient des utilisateurs / privilèges / mots de passe. Prenez donc le vidage de la base de données mysql avec d'autres bases de données
Ces tables de base de données mysql contiennent des informations sur les subventions
utilisateur: comptes d'utilisateurs, privilèges globaux et autres colonnes sans privilèges.
db: privilèges au niveau de la base de données.
tables_priv: privilèges au niveau de la table.
colonnes_priv: privilèges au niveau de la colonne.
procs_priv: privilèges de procédure et de fonction stockés.
Après avoir restauré la vérification croisée avec
la source
mysql.user
peut échouer en raison de modifications de schéma.mysql_upgrade
est un script pour prendre en charge les modifications de schéma. Mais il s'attend à ce que vous ne fassiez qu'un seul changement majeur à la fois, et en place, pas à recharger. Faites des recherches. (Désolé, je n'ai pas d'expérience dans le domaine des mises à niveau.)flush privileges;
du nouveau mysql. Commemysql -u root -p -e'flush privileges;'
ceci peut / va également définir votre mot de passe root mysql sur votre nouveau serveur pour être le mot de passe root de votre ancien serveur alors assurez-vous de savoir ce que c'est.Ce script PHP a été inspiré par la nécessité de faire la même chose que la question d'origine où les serveurs en question exécutaient une version différente de MariaDB. Comme c'est PHP, il devrait fonctionner sur n'importe quelle plate-forme qui prend en charge PHP (version 7.3 ou supérieure).
la source