mysql8.0版本重置root密码
第一步:停掉mysql服务,可以使用win+r然后输入services.msc然后找到mysql的服务,将之关闭 第二步:win10前的系统,用系统管理员身份打开格式命令行,win10的请随意,然后输入
(8.0以前版本的请使用这个语句:mysqld --skip-grant-tables) mysqld --console --skip-grant-tables --shared-memory
第三步:再打开一个格式命令行,权限请参照第二步,然后输入
mysql -u 用户名 -p
然后点击两下回车,发现进入mysql数据库 第四步:进入后选择一下名为mysql的数据库
use mysql;
第六步:刷新一下权限
flush privileges;
第七步:修改密码
(如果直接执行一下语句修改失败,请先执行这条语句:update user set authentication_string= where user=root) ALTER user 需要修改密码的用户名@localhost IDENTIFIED BY 重置的密码
第七步(8.0之前的版本):
MySQL 8.0前的版本,直接执行:SET PASSWORD=PASSWORD([新密码]) where user = 你的用户名
Navicat 连接MySQL 8.0.11 出现2059错误
使用Navicat Premium 连接MySQL时出现如下错误:
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决 更改加密规则:
mysql -u root -p #登录 use mysql; #选择数据库 # 远程连接请将localhost换成% ALTER USER root用户@localhost IDENTIFIED BY 当前密码 PASSWORD EXPIRE NEVER; #更改加密方式 ALTER USER root用户@localhost IDENTIFIED WITH mysql_native_password BY 当前密码; #更新用户密码 FLUSH PRIVILEGES; #刷新权限