最近一直在边学习边开发java项目,理所当然的就少不了跟数据库打交道了,但是有时候就会脑子一短路,把mysql的登录密码给忘记了,这个时候我们又很急切的需要进到数据库中查看数据,那这个时候要怎么才能改密码呢,我就经历了一次这种情况,真的是不经历永远不知道有多么绝望的。在网上找了很多教程,都是比较零散的,所以决定把自己的经验整理一下,写下来,免得自己以后忘记了,如果有不足或者错误的地方,还请指出,共同学习,快乐coding。

  在改密码之前,我们需要先把mysql服务停止了。首先,我们先说说在Windows系统下如何在忘记MySQL密码的情况下如何去更改登录密码。对于大多数人而言,应该用的最多的就是Windows系统了,所以很多时候都是在Windows环境下进行开发的。最重要的!最重要的!最重要的!啊,重要的事情要说三遍,你要记得你的mysql安装路径,一般如果是默认的安装路径的话,就是在C盘的Program files这个文件夹下会有一个MySQL的文件夹,默认安装的MySQL就是在这里了,然后我们点进去,进入到一个叫MySQL server x.x的文件夹内,后面跟的是你对应安装的mysql版本号,可以看到如下图我的一个文档目录结构图,bin目录下主要是一些可执行文件了,include下主要是放得一些c++头文件,而lib目录下则放的是mysql的一些dll文件,而share目录下则是配置信息以及一些默认的SQL文件。重点的话我们就是放在bin文件以及my.ini或者my-default.ini这里。

  如果这个目录下没有my.ini或者my-default.ini这个文件的话,我们需要手动给他添加一个,这个文件是我们自己电脑上mysql的一些基础配置信息。如果这里没有的话,我们需要到C盘根目录下,进入到programdata这个文件下,如果在C盘看不到这个文件的话,我们需要到查看里,设置一下隐藏文件可见的选项,然后就可以看见了。这里的文档目录结构和上面是一样的,也是找到mysql->mysql server x.x,然后在这里就可以看到有一个my.ini文件了,我们直接把复制到我们的mysql安装目录下,就是上图的位置,粘贴的时候会提示一下我们需要管理员权限,同意一下就好。

  复制好my.ini文件之后,我们现在先不要关闭上面的文件窗口。现在我们来打开cmd窗口,一定要以管理员身份运行,一定要以管理员身份运行,一定要以管理员身份运行。然后利用cd命令,进入到我们的mysql安装目录下的bin目录下,大小写无所谓的,但是空格以及斜杠一定要主要,否则会提示找不到该目录。然后进入到该目录下后,我们输入如下命令:mysqld --skip-grant-tables--->回车。当然我们不cd到该目录下,直接运行命令也是可以的。

  在这里提示一下,如果我们没有将.ini这个文件复制到mysql的安装目录下,运行上面的命令时,会报如下错误,这个时候我们只需要将.ini文件复制过来后再运行上面的命令就好了。这个命令是可以让我们以任何身份进入到mysql中,也就是可以在不要进行身份验证的情况下进入数据库中,所以是很危险的,平时还是牢牢记住mysql密码吧。当我们在输入上述命令敲回车后,我们当前的窗口就处于不可编辑的状态了。

  这个时候我们再打开一个cmd窗口,然后直接输入mysql回车,这个时候神奇的事情就发生了,你会发现你不需要输入用户名和密码就进入到mysql中了。

  接下来就是进入到mysql数据库中的用户表中进行密码的更改了,如果对mysql有所研究的话,就知道在mysql中,所有的用户都是保存在mysql数据库中的user这张表里面,如果不知道数据库中有哪些数据库的话,我们可以用show databases命令查看mysql都有哪些数据库,然后使用use mysql命令选择mysql数据库,但是我们现在假设并不知道mysql数据库中都有哪些表,那么这个时候可以使用show tables命令查看当前数据库中都有哪些表。

  可以看到user表在最下面,我们先查看一下user表中都有哪些字段,直接select * from user;因为我们并不知道这张表中密码是哪个字段,不过即使我们使用select了,好像还是看不懂哪个字段保存的是我们的密码,别急,现在我就来揭秘吧!其实在mysql5.5还是哪个版本后,密码字段就改了,不再是password,而是改成了authentication_string了,所以现在知道密码字段了,那么就执行更改密码命令吧:update user set authentication_string=password('你的密码') where user = '需要更改密码的账号名';因为在mysql中,有一个对密码加密的方法,就是password(),而且你必须要使用这个方法来设置密码,如果你直接将新密码设置给authentication_string字段的话,到时候登录的时候就不能正确解析密码了,也就导致设置的密码是无用的。更改好密码之后,我们就可以关闭以上所有的窗口了,然后重启mysql服务,就可以用新密码登录进数据库了。到这里在Windows上更改mysql数据库密码就分享到这里了,下面将介绍一下在linux中如何修改mysql密码,很简单,远比在Windows中简单的多!

  在linux中更改mysql密码。在linux中需要找到mysql的安装位置,然后找到目录下的debian.cnf这个文件,利用vi工具打开,进去后可以看到这里面有一个mysql用户名和密码,这个是mysql默认提供在linux中的一个超级管理员,然后记住这个用户名,密码的话直接复制,防止记错,然后就退出,按照正常的登录mysql的方法登录mysql,只不过使用的账户是刚刚看到的这个。进去之后更改密码的方式就跟在Windows上是一样的了,同样的,如果是5.X以后的mysql版本的话,用户密码字段不是password了,改成了authentication_string,如果不知道,可以先查看一下user表中的结构再进行更改。

如何在忘记mysql的登录密码时更改mysql登录的密码(window及linux)的更多相关文章

  1. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  2. 如何更改mysql可执行路径及更改mysql数据库文件路径

    一.如何更改服务中MySQL的可执行文件路径: 解决方法:到注册表里HKEY_LOCAL_MECHINE---SYSTEM ---CurrentControlSet 更改查找一. MySQL项值,然后 ...

  3. mysql忘记密码时如何修改root用户密码

    1.关闭正在运行的MySQL服务. 2.打开DOS窗口,转到mysql\bin目录. 3. 输入mysqld --skip-grant-tables 回车.--skip-grant-tables 的意 ...

  4. Mysql操作命令出现错误时消除/mysql数据导入txt

    MySQL怎样取消错误命令 http://jingyan.baidu.com/album/546ae1851e9fd61149f28cef.html?picindex=6 mysql导入数据load ...

  5. sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时的感受

    sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时,mysql经常出现格式转换出错,不好导入  导入的数据量比较大时,还不如自己写个工具导入 今天在导oracle时,想 ...

  6. mysql数据库忘记密码时如何修改(一)

    方法/步骤 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 输入命令  mysqld --skip-grant ...

  7. mysql数据库忘记密码时如何修改(转)

    当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式. (如果图简单快速修改密码的话,直接跳过查询步骤,依照图上执 ...

  8. mysql忘记密码时,重新修改密码

    错误描述 1045 access denied for user 'root'@'localhost' using password yes 1045 access denied for user ' ...

  9. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. centos 增加网卡

    CentOS 6添加网卡的方法 (2013-11-26 17:19:44) 转载▼ 标签: it 分类: Linux 前段时间安装了1台XEN server虚拟机,之前只用了1个网卡,ip是10.11 ...

  2. python的unittest框架中如何删除测试数据,清理环境,可以通过addCleanup函数

    def addCleanup(self, function, *args, **kwargs): """Add a function, with arguments, t ...

  3. zookeeper 快速入门

    分布式系统简介 在分布式系统中另一个需要解决的重要问题就是数据的复制.我们日常开发中,很多人会碰到一个问题:客户端C1更新了一个值K1由V1更新到V2.但是客户端C2无法立即读取到K的最新值.上面的例 ...

  4. 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装

    本文主要介绍在 centos 下 Percona XtraDB Cluster(下文简称PXC) 的安装, 个人的系统版本信息如下: [root@c2-d09 worker]# more /etc/r ...

  5. ZOJ 4103 浙江省第16届大学生程序设计竞赛 D题 Traveler 构造

    这个题,正赛的时候也没有过,不过其实已经有了正确的解法,可惜时间不多了,就没有去尝试. 题意是有n个点,i点能通向i-1,然后i和i*2.i*2+1互通. 请你构造一种路径从1能走完所有点,并且不重复 ...

  6. SVN 客户端使用

    一.TortoiseSVN基本设置 1.1 客户端设置     1.1  语言设置       二.基本操作 2.1 浏览服务器           用户名跟密码,跟公司配置管理员人员获取,没有专门的 ...

  7. smtp outlook邮件发送非授权码模式

    1.起因:send fail SMTP AUTH extension not supported by server. 使用端口25 和587均失效出现此问题 首先前往outlook修改设置pop和I ...

  8. Jenkins+github的一次定时构建示例

    首先说明,我的电脑环境是windows,所以以下的示例是基于windows10 X64. 一.新建任务,填写名称,选择类型,点击左下角的[确定] 二.配置 1.General 2.源码管理 之前在gi ...

  9. 目前.NET Core创建Windows Service比较好的一个开源框架:DasMulli.Win32.ServiceUtils

    新建一个.NET Core控制台程序,搜索并下载Nuget包:DasMulli.Win32.ServiceUtils GitHub 链接及使用指南 Write a windows service us ...

  10. python-docx操作word文件(*.docx)

    目录 基础操作 对象关系 添加样式 中文字体微软雅黑,西文字体Times New Roman 首行缩进 单独设置标题样式 设置超链接 参考文档 基础操作 from docx import Docume ...