Vous êtes ici : » Accueil» MySQL » J’ai oublié mon mot de passe de base de données MySQL !!

J’ai oublié mon mot de passe de base de données MySQL !!

(Dernière mise à jour le: 3 octobre 2021)

Réinitialisation du mot de passe root : systèmes Windows

Sous Windows, utilisez la procédure suivante pour réinitialiser le mot de passe pour MySQL ‘root’@’localhost‘ Compte. Pour changer le mot de passe d’un root compte avec un nom d’hôte différent partie, modifiez les instructions pour utiliser ce nom d’hôte.

Connectez-vous à votre système en tant qu’administrateur. Arrêtez le serveur MySQL s’il est en cours d’exécution. Pour un serveur qui s’exécute en tant que service Windows, accédez aux Services gestionnaire : dans le Démarrer menu , sélectionnez Panneau de configuration , puis Outils d’administration , puis Prestations . Trouver le MySQL service dans la liste et l’arrêter.

Si votre serveur ne fonctionne pas en tant que service, vous devrez peut-être d’utiliser le Gestionnaire des tâches pour le forcer à s’arrêter. Créer un fichier texte contenant l’attribution du mot de passe déclaration sur une seule ligne. Remplacez le mot de passe par le mot de passe que vous souhaitez utiliser.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Enregistrez le fichier. Cet exemple suppose que vous nommez le déposer C:\mysql-init.txt.
Ouvrez une fenêtre de console pour accéder à l’invite de commande : à partir de le Démarrer menu , sélectionnez Exécutez , puis entrez cmd comme commande à exécuter.

Démarrez le serveur MySQL avec le init_filesystème variable définie pour nommer le fichier (notez que la barre oblique inverse dans la valeur de l’option est doublée) :

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init.txt

Si vous avez installé MySQL à un emplacement différent, ajustez la cd en commande conséquence.

Le serveur exécute le contenu du fichier nommé par les init_filesystème variable au démarrage, en changeant la ‘root’@’localhost‘mot de passe du compte. Pour que la sortie du serveur apparaisse dans la fenêtre de la console plutôt que dans un fichier journal, ajoutez le –consoleoption à la mysqld commande .

Si vous avez installé MySQL à l’aide de l’installation MySQL Assistant, vous devrez peut-être spécifier un –defaults-fileoption. Par exemple:

C:\> mysqld
--defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
--init-file=C:\\mysql-init.txt

Approprié –defaults-fileréglage peut être trouvée à l’aide du gestionnaire de services : À partir du Démarrer menu , sélectionnez Panneau de configuration , puis Outils d’administration , puis Prestations . Trouver le MySQL service dans la liste, faites un clic droit dessus et choisissez le Propertiesoption. Les Path vers éxecutable le champ contient le –defaults-fileréglage.

Une fois le serveur démarré avec succès, supprimez C:\mysql-init.txt.

Vous devriez maintenant pouvoir vous connecter au serveur MySQL en tant que rooten utilisant le nouveau mot de passe. Arrête le serveur MySQL et redémarrez-le normalement. Si vous exécutez le serveur en tant que service, démarrez-le à partir de la fenêtre Services Windows. Si vous démarrez le serveur manuellement, utilisez la commande que vous utiliser normalement.

Réinitialisation du mot de passe racine : systèmes Lunix

Sous Unix, utilisez la procédure suivante pour réinitialiser le mot de passe pour le MySQL ‘root’@’localhost‘ Compte. Pour changer le mot de passe d’un root Compte avec une partie de nom d’hôte différente, modifiez les instructions pour utiliser ce nom d’hôte.

Les instructions supposent que vous démarrez le serveur MySQL à partir de le compte de connexion Unix que vous utilisez normalement pour l’exécuter. Par exemple, si vous exécutez le serveur en utilisant le mysqlcompte de connexion, vous devez vous connecter en tant que mysqlavant d’utiliser les instructions. Alternativement, vous pouvez vous connecter en tant que root, mais dans ce cas il faut commencer mysqld avec le –user=mysqloption.

Si tu démarrer le serveur en tant que root sans utiliser –user=mysql, le serveur peut créer root-fichiers possédés dans les données répertoire, tels que les fichiers journaux, et ceux-ci peuvent entraîner problèmes liés aux autorisations pour les futurs démarrages de serveurs. Si cela se produit, vous devez soit changer la propriété du fichiers à mysqlou les supprimer.

Connectez-vous à votre système en tant qu’utilisateur Unix que MySQL le serveur s’exécute en tant que (par exemple, mysql).
Arrêtez le serveur MySQL s’il est en cours d’exécution. Localisez le .pidfichier qui contient le ID de processus du serveur. L’emplacement exact et le nom de ce dépendent de votre distribution, du nom d’hôte et configuration. Les emplacements communs sont /var/lib/mysql/, /var/run/mysqld/, et /usr/local/mysql/data/. Généralement, le nom du fichier a une extension de .pid et commence par soit mysqld ou le nom d’hôte de votre système.

Arrêtez le serveur MySQL en envoyant un message normal kill (ne pas kill -9) au mysqld processus . Utiliser le réel chemin d’accès du .pidfichier dans le commande suivante :

shell> kill `cat /mysql-data-directory/host_name.pid`
Utilisez des backticks (pas des guillemets avant) avec le catcommander. Ceux-ci provoquent la sortie de catêtre remplacé dans le killcommander.

Créer un fichier texte contenant l'attribution du mot de passe déclaration sur une seule ligne. Remplacez le mot de passe par le mot de passe que vous souhaitez utiliser.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Enregistrez le fichier. Cet exemple suppose que vous nommez le déposer /home/me/mysql-init. Le fichier contient le mot de passe, donc ne l’enregistrez pas où il peut être lu par d’autres utilisateurs. Si vous n’êtes pas connecté en tant que mysql(l’utilisateur sous lequel le serveur s’exécute), assurez-vous que le fichier a des autorisations qui permettent mysqlde le lire.

Démarrez le serveur MySQL avec le init_filesystème variable définie pour nommer le fichier :

shell> mysqld --init-file=/home/me/mysql-init &

Le serveur exécute le contenu du fichier nommé par les init_filesystème variable au démarrage, en changeant la ‘root’@’localhost’mot de passe du compte. D’autres options peuvent également être nécessaires, selon la façon dont vous démarrez normalement votre serveur. Par exemple, –defaults-filePeut être nécessaire avant le init_fileargument. Une fois le serveur démarré avec succès, supprimez /home/me/mysql-init. Vous devriez maintenant pouvoir vous connecter au serveur MySQL en tant que rooten utilisant le nouveau mot de passe. Arrête le serveur et redémarrez-le normalement.

Réinitialisation du mot de passe racine : instructions génériques

Les sections précédentes fournissent la réinitialisation du mot de passe instructions spécifiques pour Windows et Unix et Unix-like systèmes. Alternativement, sur n’importe quelle plate-forme, vous pouvez réinitialiser le mot de passe en utilisant le mysql client (mais ce approche est moins sûre):

Arrêtez le serveur MySQL si nécessaire, puis redémarrez-le avec les –skip-grant-tablesoption. Cela permet à n’importe qui de se connecter sans mot de passe et avec tous les privilèges, et désactive relevés de gestion de compte tels que ALTER USER et SET PASSWORD. Parce que ceci n’est pas sécurisé, si le serveur est démarré avec le –skip-grant-tables option, il désactive également les connexions à distance en activant skip_networking.

Connectez-vous au serveur MySQL en utilisant le mysql client ; aucun mot de passe n’est nécessaire car le serveur a été démarré avec –skip-grant-tables:

shell> mysql

Dans le mysqlclient, dites au serveur pour recharger les tables d’octroi afin que la gestion des comptes les déclarations fonctionnent :

mysql> FLUSH PRIVILEGES;

Puis changez le ‘root’@’localhost‘ mot de passe du compte. Remplacer le mot de passe par le mot de passe que vous souhaitez utiliser. Pour changer le mot de passe d’un root compte avec un autre hébergeur partie nom, modifiez les instructions pour utiliser cet hôte Nom.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Vous devriez maintenant pouvoir vous connecter au serveur MySQL en tant que root en utilisant le nouveau mot de passe. Arrête le serveur et redémarrez-le normalement (sans le –skip-grant-tablesoption et sans activer le skip_networkingsystème variable).

Laisser un commentaire

Translate »