Maison  >  Article  >  base de données  >  Comment changer le mot de passe du compte root et accorder des autorisations dans Docker MySQL

Comment changer le mot de passe du compte root et accorder des autorisations dans Docker MySQL

PHPz
PHPzavant
2023-06-01 19:16:041958parcourir

Démarrer

Après vous être connecté au serveur Linux CentOs

docker ps        //查看docker镜像

Comment changer le mot de passe du compte root et accorder des autorisations dans Docker MySQL

Entrez l'image mysql

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像

Comment changer le mot de passe du compte root et accorder des autorisations dans Docker MySQL

Installer vim

Parce que l'image Docker ne contient pas la commande vim, vous devez l'installer manuellement , ou vous pouvez utiliser la commande docker cp Copiez-le depuis l'hôte

apt-get update
apt-get install vim

Modifiez le fichier de configuration

vim /etc/mysql/mysql.conf.d/mysqld.cnf

Vous devez ajouter "skip-grant-tables" Appuyez sur i "cv" pour ajouter "skip-grant-tables" Appuyez sur ESC alors: wq!

Comment changer le mot de passe du compte root et accorder des autorisations dans Docker MySQL

Enregistrer et exiter

exit    # 退出容器

restart le conteneur mysql

docker restart mysql

enter le conteneur à nouveau

docker exec -it mysql bash

log dans MySQL (aucun mot de passe requis)

mysql -uroot

update permis

rreee

change mot de passe

flush privileges;

Quittez mysql

alter user 'root'@'localhost' identified by '123456';

Commentez "skip-grant-tables"

Commentaire requis"skip-grant-tables” Appuyez sur i Appuyez sur esc Puis : wq!

Quittez le conteneur

exit

Redémarrez le conteneur

exit

Si interne l'accès est disponible mais Navicat ne peut pas y accéder, puis exécutez pour ouvrir les autorisations MySQL

Erreur : ERREUR 1130 : L'hôte 'ip' n'est pas autorisé à se connecter à ce service MySQL

Raison : Les données connectées ne sont pas accessibles via IP, uniquement localhost est autorisé ;

Entrez dans le miroir mysql

docker restart mysql

Connectez-vous à mysql

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像
mysql -u root -p     输入刚刚修改的密码

Si cela ne fonctionne toujours pas, alors il existe des autorisations de mise à jour pour plusieurs autorisations root

mettre à jour le mot de passe défini par l'utilisateur = mot de passe("root") où user="root"; Si l'identifiant de la clé primaire est déjà signalé

puis supprimez localhost

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer