mysql 8.0.16 配置 与一个奇葩的Access denied for user 'root'@'localhost' (using password: YES)错误

mysql 8.0.16 配置 与一个奇葩的Access denied for user ‘root’@‘localhost’ (using password: YES)错误

下载安装

略,下载个压缩包解压就得了,随便找些攻略看看

配置

手动添加配置文件

在mysql安装目录(解压目录,我的是 D:\mysql-8.0.16-winx64)手动新建一个my.ini文件,内容如下

[mysqld]

# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\mysql-8.0.16-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.16-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

管理员权限下进入cmd,进入mysql安装目录bin文件夹

D:mysql-8.0.16-winx64\bin>

安装mysql service

D:\mysql-8.0.16-winx64\bin>mysqld install
//以下是系统提示
Service successfully installed.

初始化

D:\mysql-8.0.16-winx64\bin>mysqld --initialize --console
//以下是系统提示
2019-05-14T02:37:45.152647Z 0 [System] [MY-013169] [Server] D:\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe (mysqld 8.0.16) initializing of server in progress as process 9292
2019-05-14T02:38:20.715680Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost:8JdkZh>3uxRI
2019-05-14T02:38:44.910135Z 0 [System] [MY-013170] [Server] D:\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe (mysqld 8.0.16) initializing of server has completed

文中 “root@localhost: 8JdkZh>3uxRI” 中的 8JdkZh>3uxRI 是系统给你自动生成的初始化密码,之后会用到,可以保存到一个txt文档中留用,一定一定一定要确保你复制下来的和cmd里面的一样,或者直接手动敲到txt保存,这里涉及到我栽的两个阴沟,后面重点讲。

链接sql服务

net start mysql

登录mysql

mysql -uroot -p

然后会提示

password:
划重点!

我在前面初始化的时候,记录初始密码这一步,栽了个超级奇葩的大跟头,其实就是很小的很小的一个问题让我耽误了三个小时。

我查的所有文章都没有人提到这个,通常都是一句带过,复制下来这个密码待会会用到,但是这里面有个坑:

如果你从cmd中直接ctrl+c、ctrl+v复制到一个txt文档中,就可能会出现特殊符号的丢失!比如我复制过来之后这个大于号 “ > ” 就丢了!而且这玩意儿真的很难发现啊!后来实在是所有方法都试过了都不行,才回过头去看了眼之前留下的截图,发现了这个问题,这个时候,第二坑出现了(没想到吧!):

你即便完全照着那段密码手动输入cmd中(我手动了100遍,绝对不会按错)也可能提示密码错误!

Access denied for user 'root'@'localhost' (using password: YES)

最后竟然是我绝望中的随便一点,才发现,要用ctrl+c把正确的初始密码从txt文档中复制下来,然后用鼠标右键单击cmd界面 密码直接复制到其中,就可以登录了!

具体原理我也不懂2333,毕竟我还是个菜鸡,不过问题是这么解决了,希望对你有帮助!

改密码

当你用自动生成的初始密码登录成功后,不管你干啥他都会阻止你,强行要求你改密码

You must reset your password using ALTER USER statement before executing this statement.

然后直接输入这个语句改

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码' PASSWORD EXPIRE NEVER;

提示你修改OK,然后重登一次服务器,试验一下密码ok,就完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值