Chaque méthode a sa situation applicable, choisissez la méthode appropriée en fonction de la situation spécifique. Quelle que soit la méthode choisie, assurez-vous de supprimer l'utilisateur temporaire et de redémarrer le service rapidement après avoir réinitialisé le mot de passe MySQL
.
1. Utiliser pour mysqladmin
réinitialiser le mot de passe
-
Hors service
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
Utilisez
mysqld_safe
la commande pour démarrerMySQL
le service, ignorez la vérification des autorisations et vous devrez peut-être appuyer sur Entrée après l'exécution$ sudo mysqld_safe --skip-grant-tables &
-
Connectez-vous au
MySQL
service et utilisezmysqladmin
la commande pour réinitialiser le mot de passe# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
Arrêtez
MySQL
le service et redémarrez le mot de passe pour vous connecter# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
2. Utilisez pour mysqld
réinitialiser le mot de passe
-
Hors service
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
Utilisez
mysqld_safe
la commande pour démarrerMySQL
le service, ignorez la vérification des autorisations et appuyez sur Entrée après l'exécution$ sudo mysqld_safe --skip-grant-tables &
-
Connectez-vous au
MySQL
service et créez un nouvel utilisateur temporaire avecroot
des autorisations# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 创建一个临时用户 temp_root 及 temp_password mysql> CREATE USER 'temp_root'@'localhost' IDENTIFIED BY 'temp_password'; # 设置权限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'temp_root'@'localhost' WITH GRANT OPTION; # 修改好后退出 MySQL mysql> exit
-
Arrêtez
MySQL
le service, redémarrez la connexion par mot de passe et utilisezALTER
la commande pour modifierroot
le mot de passe de l'utilisateur# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、临时用户密码登录 $ mysql -u temp_root -p # 4、这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 5、修改好后退出 MySQL mysql> exit # 6、停止 MySQL 服务上面有,第一条就是 # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
-
Utilisez à nouveau
mysqld_safe
la commande pour démarrerMySQL
le service, ignorer la vérification des autorisations et supprimer l'utilisateur temporaire$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'temp_root'@'localhost'; mysql> DROP USER 'temp_root'@'localhost'; mysql> exit
-
Redémarrez
MySQL
le service etroot
connectez-vous avec le mot de passe modifié# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p
3. Utilisez MySQL
le mode de sécurité pour réinitialiser le mot de passe
-
Hors service
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
démarrer
MySQL
le mode sans échec$ sudo mysqld_safe --skip-grant-tables --skip-networking &
-
Connectez-vous au
MySQL
service et utilisezmysqladmin
la commande pour réinitialiser le mot de passe# 无需密码,会直接登入 $ mysql -u root mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
arrêter
MySQL
le mode sans échec$ sudo killall mysqld_safe # 如果在本地机器上执行上面命令无法停止安全模式,可以通过杀死进程方式解决 # 1、列出 mysqld_safe 的进程 $ ps aux | grep mysqld_safe # 2、拿到 PID 全部杀死,应该是第二列,就几位纯数字的,如果不知道可以单独输出 $ ps aux 看一下。 $ sudo kill -9 xxx xxx ...
-
Arrêtez
MySQL
le service et redémarrez le mot de passe pour vous connecter# 1、停止 MySQL 服务上面有,第一条就是,如果通过 $ sudo kill 可以一起就杀死了。 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
4. Utiliser pour my.cnf
réinitialiser le mot de passe
-
Cette méthode
方式一
est fondamentalement la même que ci-dessus, sauf que l'instruction d'autorisation de saut dans la commande est écrite dansmy.cnf
, puis supprimée après modification. -
Avant de modifier,
my.cnf
assurez-vous de fermermysql
le processus et de le fermermysql
, sinon vous risquez de rencontrermysql
des problèmessock
qui ne peuvent pas être connectés! -
Hors service
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
ouvert
my.cnf
, créez-en un s'il n'y en a pas$ sudo vim /etc/my.cnf
Après être entré dans
vim
l'éditeur à modifier, recherchez-le[mysqld]
, appuyez suri
la touche du clavier pour accéder au mode d'édition et[mysqld]
ajoutez n'importe quelle ligne aprèsskip-grant-tables
pour ignorer le processus de vérification du mot de passe. Appuyez surESC
pour quitter l'édition, saisissez:wq
et appuyez sur Entrée pour enregistrer et quitter.[mysqld] skip-grant-tables
-
démarrer
mysqld
le service# systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start
-
Connectez-vous au
MySQL
service et utilisezmysqladmin
la commande pour réinitialiser le mot de passe# 无需密码,会直接登入 $ mysql -u root # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 刷新权限 mysql> FLUSH PRIVILEGES; # 修改好后退出 MySQL mysql> exit
-
Ouvrez-le à nouveau
my.cnf
, supprimez ce que vous venez d'ajouterskip-grant-tables
, enregistrez et redémarrezMySQL
le service, puis connectez-vous avec le nouveau mot de passe.