文章目录
  1. 1. 前言
  2. 2. 环境
  3. 3. 重置密码
    1. 3.1. 通用方法
    2. 3.2. Unix 类方法
  4. 4. FQA:
  5. 5. 参考资料
  6. 6. 文档信息

前言


由于在安装 MySQL 时设置的密码太长,又没有记录在小本本上。用到时才发现临时记忆丢失,想到重置 Root 密码。为了下次有记录可查,所以整理和记录了一下 如何重置 MySQL 数据库 Root 用户根密码 的相关方法和知识。

这里将介绍两种方法:一种方式适用于类 Unix 系统,另一种适用于所有平台。这两种方法适用于各自平台,请结合自己需要进行选择。

环境


由于日常中比较懒,所以就用 brew 管理一些常用的软件。这里我是通过 brew install mysql 命令安装 MySQL 数据库的。安装后数据库版本为:8.0.16 Homebrew 。

安装挺简单的这里不做过多的介绍,安装成功之后,会提示一下关于如何设置根密码、启动、安装位置等相关信息。

一种启动方式:通过这种方式启动,会在用户登录时立即启动或重启

1
brew services start mysql

另一种启动方式:如果不需要后台服务的话,可以通过下边方式启动

1
mysql.server start

重置密码


MySQL 重置密码的方式有很多,这里只介绍两种,可以根据自己的实际情况进行选择。第一种是适用于通用平台的,第二种适用于Unix 类平台,这里只提供一下方法参考。

通用方法


首先,新建一个文本,这里我将其命名为 rootpasswd。将下面命令复制到文本中。(注意:文本名和密码是自己设置的,后面会用到哦!)

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'devhitaoRootPasswd';

然后,如果 MySQL 处于运行状态,需要关闭它。在命令后中输入下面命令:

1
mysqld --init-file=/Users/devhitao/desktop/rootpasswd &

重置完成后,新建一个终端,登陆 root 账号,然后按回车键输入 rootpasswd 文本中设置密码,如果没有设置,直接按回车键就好了。

1
mysql -u root -p

注:重置成功后,如果不能通过重置的密码登录 root 账号,可以重启 MySQL 服务。

Unix 类方法


如果 MySQL 处于运行状态,首先找到 MySQL 运行进程存储文件,然后通过 kill 命令 kill 掉。

我在找 MySQL 进程文件时花费了一下时间,最终在 /usr/local/var/mysql 目录下找到了 xjbw.pid 文件。

不知怎么了,后来不知道为啥变为 xjbw.local.pid,可能跟启动方式有关吧,不过,文件名字一般为:hostname.[local.]pid。

关闭 MySQL 运行服务:

1
kill `cat /usr/local/var/mysql/xjbw.local.pid`

kill pid

然后在终端输入下面命令:

1
mysql.server start --skip-grant-tables=ON

上面命令执行完成后,在终端中输入 mysql 命令,然后输入 FLUSH PRIVILEGES,再然后输入 ALTER USER 'root'@'localhost' IDENTIFIED BY '';

例如:
进入 MySQL 命令

1
mysql

mysql env

清除权限:FLUSH PRIVILEGES

1
FLUSH PRIVILEGES;

FLUSH PRIVILEGES;

设置密码(根据自己的需要设置哈,这里我并没有设置)

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '';

LTER USER 'root'@'localhost' IDENTIFIED BY 'rootpasswd';

退出,并重启 MySQL 服务

1
mysql.server restart

FQA:


遇到问题:

如果不是通过 kill 方式关闭的进程 或 没有 kill 掉进程,可能会提示下面错误,必须通过上面方式进行kill。

without update pid file
ERROR!The server quit without updating PID file(/usr/local/var/mysql/xjbw.local.pid)

参考资料


文档信息


  • 版权声明:自由转载-保持署名-非商用-非衍生 ( CC BY-NC-ND 4.0 )
文章目录
  1. 1. 前言
  2. 2. 环境
  3. 3. 重置密码
    1. 3.1. 通用方法
    2. 3.2. Unix 类方法
  4. 4. FQA:
  5. 5. 参考资料
  6. 6. 文档信息