Mysql8.0中密码重置问题的完美解决

  1. 首先启动MySQL
    systemctl start  mysqld.service
    

    查看MySQL运行状态,运行状态如图:

    systemctl status mysqld.service
  2. 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
    grep "password" /var/log/mysqld.log
    

     

  3. 如下命令进入数据库:
    mysql -uroot -p
  4. 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库

    设置密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
    

    如果密码设置的简单,会报错:

    这里,我们首先设置一个满足的密码(如:Root_12root)。
    然后使用如下俩条命令:

    mysql> set global validate_password.policy=0;
    
    mysql> set global validate_password.length=1;
    

    然后就可以设置简单的密码了

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

2.如果连接出现caching-sha2-password报错

按照以下方法进行处理:进入你的mysql命令行,具体方式为点主菜单栏,然后找到你的Mysql,启动MYSQL command line client,按照以下步骤输入:
1.ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
2.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
3.FLUSH PRIVILEGES;
4.alter user 'root'@'localhost' identified by '123456';重置密码用户名为root的密码