• MySQL5.7.26 忘记Root密码小计


    以前直接修改mysql.user就ok了,现在不行了,正好虚拟机MySQL的root密码忘记了,就简单记录下:(本方法不适合互联网线上项目,除非你不在意这段时间的损失)

    PS:以UbuntuServer为例(CentOS你把配置文件的位置换下就ok了)

    坑点:

    1. 不能和以前一样直接修改user表了,需要使用新命令
      • alter user 'root'@'localhost' identified with mysql_native_password by '复合密码强度的新密码';
    2. ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
      • flush privileges;

    修改密码

    附录

    dnt@ubuntuserver:~$ vi /etc/mysql/mysql.conf.d/mysqld.cnf 
    dnt@ubuntuserver:~$ cat /etc/mysql/mysql.conf.d/mysqld.cnf |grep skip
    skip-external-locking
    # Instead of skip-networking the default is now to listen only on
    skip_name_resolve=on
    skip-grant-tables
    dnt@ubuntuserver:~$ sudo systemctl restart mysql
    dnt@ubuntuserver:~$ mysql -uroot
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> select user();
    +--------+
    | user() |
    +--------+
    | root@  |
    +--------+
    1 row in set (0.01 sec)
    
    mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'WWW.baidu.com1';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'WWW.baidu.com1';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> exit
    Bye
    
    

    恢复正常

    附录

    dnt@ubuntuserver:~$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 
    dnt@ubuntuserver:~$ cat /etc/mysql/mysql.conf.d/mysqld.cnf |grep skip
    skip-external-locking
    # Instead of skip-networking the default is now to listen only on
    skip_name_resolve=on
    # skip-grant-tables
    dnt@ubuntuserver:~$ sudo systemctl restart mysql
    dnt@ubuntuserver:~$ mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> select user();
    +----------------+
    | user()         |
    +----------------+
    | root@localhost |
    +----------------+
    1 row in set (0.00 sec)
    
    
    
  • 相关阅读:
    python基础(五)——CGI编程
    python基础(六)——mysql的使用
    python基础(七)——网络编程
    python基础(八)——多线程
    python面试题
    linux日志管理
    linux之nagios安装教程
    【华为云技术分享】盘点物联网常用开发板
    数据库“意外失联”?华为云DRS异地多活灾备为您支招
    如何处理暗数据?
  • 原文地址:https://www.cnblogs.com/dotnetcrazy/p/11027732.html
Copyright © 2020-2023  润新知