找回MySQL管理员root密码的3个妙招

目录
  • 前言
    • 1.init-file找回
    • 2.skip-grant-tables找回
    • 3.修改参数文件找回
  • mysql服务器忘记了超级管理员root密码

前言

最近有粉丝和网友常问到,如何找回MySQL管理员root的密码的方法,总结以下方法分享给大家

1.init-file找回

在MySQL中,若root密码丢失则无法直接找回,只能通过特殊方式来修改密码。
步骤1:先停止MySQL服务 Kill -9 进程号
步骤2:编辑修改密码文件
alter user 'root'@'%' identified by 'jeames';
alter user 'root'@'localhost' identified by 'jeames';
步骤3:用如下方法启动MySQL
mysqld_safe --defaults-file=/etc/my.cnf --init-file=/tmp/mysql-init.sql &
步骤4:修改密码
alter user root@'localhost' identified with mysql_native_password by 'root';
alter user root@'%' identified with mysql_native_password by 'root';
flush privileges;
步骤4:关闭数据库后重启

若是 Windows 服务,则可以通过如下命令启动:
D:\MySQL\mysql-8.0.15-win64\bin\mysqld --defaults-file=D:\MySQL\mysql-8.0.15-win64\data803314\mysql803314.ini --init-file=d:\mysql-init.sql --console

注意,此时可以以任意一个密码登陆也可以以一个空密码登陆 MySQL

2.skip-grant-tables找回

步骤1:先停止MySQL服务
步骤2:启动 MySQL 服务
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
注意,此时可以以任意一个密码登陆也可以以一个空密码登陆 MySQL

若 MySQL 是 8.0 且安装在 Windows 上,则需要加上–shared-memory 参数:
G:\mysql-8.0.23-winx64\bin\mysqld --datadir=G:\mysql-8.0.23-winx64\data80323308 --console --skip-grant-tables --shared-memory
然后再开一个窗口,执行下面命令,此种方法使用内存的方式启动
cd G:\mysql-8.0.23-winx64\bin

3.修改参数文件找回

1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.重启mysql服务:service mysqld restart
4.更改root用户名
重启以后,执行mysql命令进入mysql命令行
5.修改root用户密码,此处注意,有时候会报不允许修改,先flush privileges再执行即可
--5.7版本
SQL> update mysql.user set authentication_string=password('root') where user='root';
SQL>  flush privileges;
--8.0版本
mysql> alter user root@'localhost' identified with mysql_native_password by '1';
--查询
mysql> select user,host,grant_priv,super_priv,authentication_string,password_last_changed
from mysql.user;
6.把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart
好了,下面就可以用root新的密码登录了!

mysql服务器忘记了超级管理员root密码

最近笔者的一台mysql服务器忘记了超级管理员root密码,而mysql修改密码必须得知道旧密码的情况下才能进行,真的很郁闷,找了很多方法都无 效,最终找到了解决方法,拿来分享,希望能给同样遭遇的朋友带来帮助。只要你的服务器操作系统是Windows XP/2000/2003/NT都可以使用这个方法来重新修改mysql超级管理员root的密码。

1、停止mysql服务

开始→运行→输入cmd,打开命令提示符窗口,然后输入net stop mysql,相关截图如下所示:

2、在命令提示符窗口中进入mysql安装目录中的bin目录

在命令提示符窗口中分别输入以下两条命令,每输入一条命令按回车键:

d:

cd www\mysql\bin

3、进入mysql安全模式(这样不用输入密码就能进入mysql数据库)

输入mysqld-nt –skip-grant-tables,此时屏幕上可能没啥反应,不用管它,放在一边接着往下做,相关截图如下所示:

4、重新打开一个cmd命令提示符窗口,开始→运行→输入cmd,在新打开命令提示符窗口中输入mysql -uroot -p,然后提示输入密码,不用输入密码,直接按回车键,相关截图如下所示:

5、输入以下命令开始修改超级管理员root密码(注意:命令中mysql.user中间有个“点”;命令中的htmer.com即为新密码,根据你的实际情况,换成你的新密码即可)

update mysql.user set password=PASSWORD(‘htmer.com') where User='root';

6、刷新权限表,输入如下命令

flush privileges;

7、退出,输入如下命令

quit

8、重新启动mysql服务(也可以直接重启服务器)

①打开任务管理器,将mysql-nt.exe这个进程结束,相关截图如下所示:

②在命令提示符中输入net start mysql即可重新启动mysql服务了,

(0)

相关推荐

  • Linux下MYSQL 5.7 找回root密码的问题(亲测可用)

    目录 一.通过 --skip-grant-tables 找回 1.1 修改my.conf,新增免密登陆启动项 1.2 免密模式下进入mysql控制台,重置密码 1.3注释或删除免密登陆配置项,重启mysqld服务并进行登陆验证 一.通过 --skip-grant-tables 找回 (注意:该操作必须考虑安全因素,因为在设置免密登陆期间期数据库处于无密码保护状态) 1.1 修改my.conf,新增免密登陆启动项 vi /etc/my.cnf 在 [mysqld] 区域 新增 skip-grant

  • Mysql 忘记root密码和修改root密码的解决方法(小结)

    一 修改root密码的三种办法 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p12

  • MACOS中忘记MySQL root密码的解决方案

    MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问

  • Window下Mysql忘记root密码怎么重置

    本人机器环境: Windows 2008 R2 MySQL 5.6 以"Window下忘记Mysql的root密码"百度,找到一大堆解决方案.大多大同小异,比较经典的是百度文库上的一篇[1],图文并茂,条理也比较清晰.立刻按照这篇文章描述的操作. 具体操作如下: 以下步骤如果添加了MySQL的环境变量,则可以直接运行mysql有关命令,否则必须到mysql安装目录的bin目录下操作. 步骤如下: 1.停止mysql服务(以管理员身份,在cmd命令行下运行) net stop mysql

  • Mac下忘记Mysql的root用户密码的解决方法

    好久没弄我电脑上的mysql了,密码都忘记了.不过没有关系,我们可以重置我们的密码 原理就是用安全方式打开mysql服务,然后更新存密码的表. 首先我们要关闭原来的mysql服务,System Preferences->MySQL->Stop MySQL Server 然后打开一个Terminal, 打开安全模式的mysql, 连接的时候不需要密码 sudo mysqld_safe --skip-grant-tables 然后再开一个Terminal,更新密码 mysql -u root UP

  • Mysql 忘记root密码的完美解决方法

    一.更改my.cnf配置文件 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 2.在[mysqld]下添加skip-grant-tables,然后保存并退出 3.重启mysql服务:service mysqld restart 二.更改root用户名 1.重启以后,执行mysql命令进入mysql命令行 2.修改root用户密码 MySQL> UPDATE mysql.user SET Password=PASSWORD('新

  • 找回MySQL管理员root密码的3个妙招

    目录 前言 1.init-file找回 2.skip-grant-tables找回 3.修改参数文件找回 mysql服务器忘记了超级管理员root密码 前言 最近有粉丝和网友常问到,如何找回MySQL管理员root的密码的方法,总结以下方法分享给大家 1.init-file找回 在MySQL中,若root密码丢失则无法直接找回,只能通过特殊方式来修改密码. 步骤1:先停止MySQL服务 Kill -9 进程号 步骤2:编辑修改密码文件 alter user 'root'@'%' identifi

  • MAC上Mysql忘记Root密码或权限错误的快速解决方案

    最近一段时间都在倒腾mantis发现总是连接mysql出错,就随手修改了root权限,导致登录不上了. 下面给大家分享还原root权限和更改root密码的最便捷方法. 1:装mysql workbench .可视化界面直接操作. 2:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务 3:进入终端 输入: cd /usr/local/mysql/bin/ 回车后 登录管理员权限 sudo su 回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe -

  • MYSQL 修改root密码命令小结

    一.请问在win2K命令提示符下怎样更改mysql的root管理员密码? >mysql -u root -p Enter password: ****** mysql> use mysql; mysql> update user set password=password('new_password') where user='root'; 通过这种方法就可以直接修改密码了.至于在CMD下能否登陆MySQL,就要在Windows环境变量PATH中添加"C:\Program Fi

  • Windows下mysql修改root密码的4种方法

    MySQL是一个关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一.搭配 PHP 和 Apache 可组成良好的开发环境.因此用的很广泛.很多人都会遇到MySQL需要修改密码的情况,比如密码太简单.忘记密码等等.这里我就教大家几种修改MySQL密码的方法.这里以修改root密码为例,操作系统为windows. 先要声明一点,大部分情况下,修改MySQL是需要

  • MySQL忘记root密码错误号码1045的解决办法

    停止MySQL服务 Windows可以右键我的电脑--管理--服务和应用程序--服务--找到对应的服务停止掉 免密登录 切换到MySQL安装路径下:D:\mysql-5.7.24-winx64\bin:如果已经配了环境变量,则不用再安装目录 打开CMD命令窗口,在命令行输入:mysqld -nt --skip-grant-table 8.0以上数据库输入:mysqld --console --skip-grant-tables --shared-memory 进入数据库 以管理员身份重新启动一个

  • 一次MySql重置root密码无效的实战记录

    目录 前言 项目场景: 问题描述 原因分析: 解决方案: 1.正常关闭mysql服务 2.设置跳过权限启动mysql 3. 修改密码 4. 尝试登陆 总结 前言 说起这个事情吧也相对来说比较尴尬,对于一个技术来说忘记密码然后找回密码都是相当简单的一个事情,但是在生产环境中没有保存记录只能是自己的失职,尴尬就尴尬在明明重置成功了却没有生效,弄得好几个工程师在哪里挠头!!!也是经过不断得摸索测试方案最后也是解决了这个问题,下面就简单跟大家分享一下: 项目场景: 这个场景比较简单,因为我们是测试环境嘛

  • 一键重置mysql的root密码的实现脚本

    重置mysql的root密码方法有很多,本文介绍的这个是使用批处理来完成的 @echo off title mysql ::从注册表找到Mysql的安装路径写入文件mysql.txt reg query HKLM\SYSTEM\ControlSet001\Services\MySQL | find /I "ImagePath">C:\mysql.txt if %errorlevel% neq 0 ( echo MySQL not found pause exit ) ::以&qu

  • lnmp重置mysql数据库root密码的两种方法

    第一种方法:用军哥的一键修改LNMP环境下MYSQL数据库密码脚本 一键脚本肯定是非常方便.具体执行以下命令: wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh sh reset_mysql_root_password.sh 方便吧! 第二种方法:通过命令修改,具体如下: a.停止MySQL服务 执行:/etc/init.d/mysql stop b.跳过验证启动MySQL /usr/local/mysql/bin/

随机推荐