Mysql mot de passe oublié comment réinitialiser le mot de passe (étapes détaillées)

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 mysqladminréinitialiser le mot de passe

  • Hors service

    # systemctl 启动的使用这个停止
    $ sudo systemctl stop mysql
    
    # mac 本机,可以使用这个或可视化界面停止
    $ sudo mysql.server stop
    
  • Utilisez mysqld_safela commande pour démarrer MySQLle 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 MySQLservice et utilisez mysqladminla 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 MySQLle 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 mysqldréinitialiser le mot de passe

  • Hors service

    # systemctl 启动的使用这个停止
    $ sudo systemctl stop mysql
    
    # mac 本机,可以使用这个或可视化界面停止
    $ sudo mysql.server stop
    
  • Utilisez mysqld_safela commande pour démarrer MySQLle 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 MySQLservice et créez un nouvel utilisateur temporaire avec rootdes 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 MySQLle service, redémarrez la connexion par mot de passe et utilisez ALTERla commande pour modifier rootle 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_safela commande pour démarrer MySQLle 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 MySQLle service et rootconnectez-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 MySQLle 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 MySQLle mode sans échec

    $ sudo mysqld_safe --skip-grant-tables --skip-networking &
    
  • Connectez-vous au MySQLservice et utilisez mysqladminla 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 MySQLle 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 MySQLle 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.cnfré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 dans my.cnf, puis supprimée après modification.

  • Avant de modifier,  my.cnf assurez-vous de fermer  mysql le processus et de le fermer  mysql, sinon vous risquez de rencontrer  mysql des problèmes  sock 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 viml'éditeur à modifier, recherchez-le [mysqld], appuyez sur ila touche du clavier pour accéder au mode d'édition et [mysqld]ajoutez n'importe quelle ligne après skip-grant-tablespour ignorer le processus de vérification du mot de passe. Appuyez sur ESCpour quitter l'édition, saisissez :wqet appuyez sur Entrée pour enregistrer et quitter.

    [mysqld]
    skip-grant-tables
    
  • démarrer mysqldle service

     # systemctl 启动的使用这个重新启动
    $ sudo systemctl start mysql
    
    # mac 本机,可以使用这个或可视化界面启动
    $ sudo mysql.server start
    
  • Connectez-vous au MySQLservice et utilisez mysqladminla 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'ajouter skip-grant-tables, enregistrez et redémarrez MySQLle service, puis connectez-vous avec le nouveau mot de passe.

Je suppose que tu aimes

Origine blog.csdn.net/zz00008888/article/details/131935462
conseillé
Classement