MySQL root用户密码忘记怎么办(Reset root account password)

打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

在使用MySQL数据库的的过程中,不可避免的会出现忘记密码的现象。普通用户的密码如果忘记,可以用更高权限的用户(例如root)进行重置。但是如果root用户的密码忘记了,由于root用户本身就是最高权限,那这个方法就行不通了。本文先容2种在忘记root用户用户密码的情况下,怎样进行重设。

  
一、使用–init-file参数重设

由于忘记了root密码,我们是无法通过root用户毗连到数据库的,因此也无法通过客户端执行alter user或set password命令来重置密码。MySQL提供了init-file参数,在启动时可以读取文件,我们将修改root用户密码的SQL放在文件中,通过重启来执行修改密码命令。
假设我想要将root密码修改为’abc123’,先测试一下,密码是不对的:
  1. mysql -uroot -pabc123
复制代码

1.1 停止mysql进程

下面演示的是通过kill命令杀死mysqld进程,如果可以正常停止也可以。
首先通过ps -ef | grep mysqld
查询mysql数据库的进程号:
  1. ps -ef | grep mysqld
复制代码

这里显示数据库相关的进程有2个(第3个是grep命令),由于我是通过mysqld_safe脚本启动的数据库,因此有一个额外的保卫进程:
• 进程号为23619的mysqld_safe保卫进程,负责监控mysqld的状态
• 进程号为24846的mysqld进程,这个是数据库服务进程(它的父进程号23619)
查询到进程号后,使用kill命令依次将mysqld_safe和mysqld杀死,注意要先杀mysqld_safe,如果先杀mysqld,那么保卫进程检测到mysqld进程挂了,会立刻将mysqld重新启动:
  1. kill -9 23619
  2. kill -9 24846
复制代码

如果只有一个mysqld进程,那么只要将其杀掉即可。
1.2 创建初始化文件

创建一个文本文件,名称随意(这里是reset_password.sql),里面写上更改root密码的SQL:
  1. alter user 'root'@'localhost' identified by 'abc123';
复制代码

文件创建后给mysql用户增长读取权限(通常使用操作系统的mysql用户来启动数据库进程)
  1. chmod a+r reset_password.sql
复制代码

1.3 使用init-file参数重启数据库

使用–init-file=/root/reset_password.sql 参数启动数据库,启动时会自动执行文件种的密码修改SQL:
  1. mysqld_safe --init-file=/root/reset_password.sql &
  2. mysql -uroot -pabc123
复制代码

可以看到启动后,root用户的密码已经乐成被修改为’abc123’,最后将reset_password.sql文件删除即可。
二、使用–skip-grant-tables参数重设

MySQL的skip-grant-tables参数可以指定在启动时忽略权限认证,这意味着任何用户都可以不用密码登陆数据库,并且具有所有权限,这是一个伤害的状态。因此当使用skip-grant-tables启动时,MySQL会自动启用skip-networking参数,克制所有远程毗连。
2.1 停止mysqld进程

停止或杀掉mysqld进程,参照上一节内容。
2.2 使用skip-grant-tables重启数据库

使用skip-grant-tables参数启动数据库,并使用root用户登陆:
  1. mysqld_safe --skip-grant-tables &
  2. mysql -uroot -p
复制代码

这里提示了Enter password:,但现实是不必要输入密码的,直接回车便可登陆。
2.3 修改root密码

加载权限表并修改root密码,这里将密码修改为abc456:
  1. flush privileges;
  2. alter user 'root'@'localhost' identified by 'abc456';
复制代码

2.4 重启数据库

使用正常状态重启数据库
  1. mysqladmin shutdown
  2. mysqld_safe &
  3. mysql -uroot -pabc456
复制代码
可以看到root用户的密码乐成被修改为abc456
以上便是MySQL在忘记root用户密码的两种修改方式,希望对你有帮助。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表