Mysql8.0的登陆大坑……(忘记登陆密码也能够这么搞)

  关于安装和使用就不说了,属于基本操做了;mysql

  我来重点记录一下关于使用前,使用navicat登陆的时候报错,1130和2059sql

  查看安装后随机生成的密码: grep 'temporary password' /var/log/mysqld.log数据库

  缘由:mysql8的密码验证机制变动caching_sha2_password,且密码要求数字+大小写字母+特殊字符(通常是下划线),且长度大于8;vim

  解决方法:变动加密规则,修改密码ui

  1.编辑mysql配置文件:加密

vim /etc/my.cnf

  2.在pdi这行下边添加一行,并保存退出:spa

skip-grant-tables

  3.重启MySQL服务:rest

service mysqld restart 

  4.免密登陆mysql,密码直接敲回车:code

mysql -u root -p

  5.选择数据库:blog

use mysql;

  6.查看当前数据库信息,其中表中信息:

  host:容许用户登陆的 ip ‘位置’ % 表示能够远程;

  user:登陆数据库用户名;

  authentication:用户密码;(5.7.9之后不用password字段了,什么鬼,简单点很差吗?)

  plugin:加密方式;

select host, user, authentication_string, plugin from user; 

  7.修改为咱们须要的信息:(能够单独添加一个登陆用户,或者直接在root上作文章)

update user set host='%',plugin='mysql_native_password',authentication_string='' where user='root'; 

  8.退出mysql

quit

  9.删除 /etc/my.cnf 文件最后的 skip-grant-tables,保存并退出,并重启mysql服务

vim /etc/my.cnf
service mysqld restart

  10.从新登陆到mysql,并修改密码(注意,上边若是把root的host改为了%,下边这里的localhost要写%)

mysql -u root -p
ALTER user 'root'@'localhost' IDENTIFIED BY 'Xpf123@';

  搞定!

相关文章
相关标签/搜索