Mac下mysql 8.0.22 找回密码的方法

Mac 最新版 MySQL 8.0.22 找回密码大全

问题描述:

昨天心血来潮, 想在Mac上体验一下最新版的MySQL的更改密码的流程, 一下子手贱用mysql_native_password替代caching_sha2_password改了plugin之后, 再用UPDATE SET來修改authentication_string, 还不记得加password(‘new password')函数, 从而导致了

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

原因分析:

整件事下来专坑的地方有几点:

1、password()函数在MySQL 8.0中已被弃用
2、authentication_string字段下只能是mysql加密后的41位字符串密码, 其他的会报格式错误. 这也就意味着md5(‘new password')不能起到原来password(‘new password')的功能
3、mysql 8.0 数据库默认的认证插件是caching_sha2_password, 包括你使用mysqladmin去初始化数据库也是使用这个的,所以如果想让我们平常的mysql连接客户端也可以连接上MySQL8.0的数据库那就要修改default_authentication_plugin, 也就是mysql.user里面的plugin这column

解决方案:

第一步: 关闭MySQL服务器

左上角苹果icon - System Preferences - MySQL - Stop MySQL Server

第二步: 用系统管理员权限跳过MySQL安全认证强行登陆

1.Command + Space
2.Terminal
3.sudo -i
4.cd /usr/local/mysql/bin/
5../mysqld_safe --skip-grant-tables &
6.return (就是键盘上的return点一下)
7.这时候MySQL Server再次变成running, 可以用ps -ef | grep -v ‘grep' | grep 'mysql'去查看它的PID以及启动它的mysqld_safe的PID
8../mysql

截至目前为止, 已经顺利用安全模式登陆MySQL

9. FLUSH PRIVILEGES; (这条语句在这里是把当前user表的用户信息和privilege表的权限提取到内存里, 保证可以顺利得到权限更改user表)
10. 先把user表里的root的authentication_string设为空字符串, 再用ALTER user去重新设置密码
11. 退出MySQL, 并用kill -9杀死mysqld_safe, 杀死mysql, 重新启动
12. 用新设置的密码正常登陆

USE mysql;
UPDATE user SET authentication_string = '' WHERE User = 'root';
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E:\web\mysql-8.0.11-winx64 ,顺便缩短了文件名,所以为 E:\web\mysql-8.0.11. 1.3. 生成data文件: 以管理员身份运行cmd 程序--输入cmd 找到cmd.exe 右键以管理员身份运行 进入E:\web\mysql-8.0.11\

  • MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)

    MySQL 8.0.19支持输入3次错误密码,锁定账户功能 例子: >CREATE USER 'hechunyang'@'localhost' IDENTIFIED BY '123456' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3; FAILED_LOGIN_ATTEMPTS:代表尝试失败的次数 PASSWORD_LOCK_TIME:代表锁定的时间,单位天,这里为锁定3天. 如果设置UNBOUNDED,代表锁定永久,直到手工解锁. 故意输错3次以上

  • Windows7下安装使用MySQL8.0.16修改密码、连接Navicat问题

    在安装MySQL时遇到几个问题,网上查找的答案大同小异,并没有很好的解决我的问题,完成之余记录下来方便以后查看. 1.官网下载8.0.16版本MySQL 2.解压缩并将解压的文件放在C:\Program Files\MySQL下 3.配置环境变量,将C:\Program Files\MySQL\bin 添加到系统变量path中 4.添加配置文件,在MySQL根目录下创建my.ini 文件内容如下,修改'basedir='.'datadir='地址 [mysqld] # 设置3306端口 port

  • mysql 8.0.18 压缩包安装及忘记密码重置所遇到的坑

    http://www.cppcns.com/shujuku/mysql/283231.html  也可以参照这个8.0.18安装方法 1.下载zip安装包(解压到指定文件夹) 1)从mysql官网下载安装包 2)点击进入,按下图所标顺序点击进入下载页面 3)下载红框所标压缩包(注意此处是64位的,要下载32位的话点击go to Download Page进行切换) 4)解压到指定文件夹(把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在G:\a

  • mysql 8.0.12 安装配置方法并修改密码

    本文记录了mysql 8.0.12 安装配置方法,供大家参考,具体内容如下 1.从官网下载MySQL for Windows:https://dev.mysql.com/downloads/mysql/ 2.安装在本机"D:mysql":解压zip文件后将解压得到的文件夹内的全部文件拷贝到D盘的mysql文件夹下即可. 3.创建mysql.ini文件,放在D:mysql文件下即可,文件内容为: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 b

  • mysql8.0.19忘记密码的完美解决方法

    推荐阅读:MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子) 1.打开cmd窗口(最好以管理员身份打开),net stop mysql 停止mysql服务 2.开启跳过验证密码的mysql服务 mysqld --console  --skip-grant-tables --shared-memory 3.打开一个新的cmd窗口,启动mysql服务 mysql -u root -p 4.输入密码直接空格键跳过 5.将密码置空 use mysql update user set aut

  • mysql8.0.12如何重置root密码

    在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL的root密码.当然,最简单方式自然是删除数据库的data目录,然后重新安装数据库.但是很多时间我们需要保留data目录中的数据,所以就需要查找如何重置root密码. 我们知道,在知道root密码时,可以使用"ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';"指令来修改root用户的密码,如下图:

  • mysql 8.0.16 winx64及Linux修改root用户密码 的方法

    连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码. 一.查询用户密码: 查询用户密码命令: select host, user, authentication_string from mysql.user ; host:允许用户登录的ip'位置'%表示可以远程: user:当前数据库的用户名: authentication_string:用户密码(后面有提到此字段): 二. 设置(或修改)用户密码: 默认root密码为空的话 ,下面使用navicat就无法连接(之前我装的5.7好像还可

  • Windows10下mysql 8.0.19 winx64安装教程及修改初始密码

    本文为大家分享了mysql 8.0.19 winx64安装教程,供大家参考,具体内容如下 1. 下载mysql-8.0.19-winx64 1.1 进入地址:https://dev.mysql.com/downloads/mysql/ 1.2 解压zip包,并将解压文件 mysql-8.0.19-winx64 文件放在想放的位置,比如 D 盘下,如图: 1.3 配置环境变量(目的是为了避免在CMD窗口下操作时反复切换路径) 在Path下添加 D:\mysql-8.0.19-winx64\bin

  • Linux下mysql 8.0.15 安装配置图文教程以及修改密码

    写这篇博客是为了记住我刚刚安装成功的MySQL8.0.15,之前在网上找了很多博客最终没能成功,然后去google上找了几篇最终装好了,装数据库之前我是重装了服务器系统的,所以这个安装环境是很干净的,写着篇博客希望能帮的上你,同时我自己以后装也不用到处去找了. 第一步,下载安装包  wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm,其他版本自行去官网下载 先创建文件夹,在/usr/local/目录下创建

随机推荐