最近一直在边学习边开发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. Css中路径data用法

    Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入. data:,文本数据 data:text/plain,文本数据 data: ...

  2. debian 7 终端上无法调出输出法

    debian 7 终端konsole上无法调出输出法,无法输入汉字的问题解决方案, export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitxexport ...

  3. beautifulsoup4-4.3.2的安装

    下载地址:https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/ 安装成功,亲测可用! 参考文章http://blog.csdn ...

  4. django自带的登录验证功能

    django自带的验证机制 from django.shortcuts import render, redirect from django.contrib.auth import authenti ...

  5. linux下pcf8563驱动时钟使用

    环境: HelperA64开发板 Linux3.10内核 时间:2019.01.17 目标:PCF8563实时时钟驱动的使用 问题:因为pcf8563的驱动是linux内核自带的,网上也有很多分析的方 ...

  6. linux文件属性介绍

    Linux系统有如表所示的几种文件类型. 使用ls -lih 命令就可以看到各个文件的具体信息,下面选取以上所提到的这几种文件,列出他们的信息. 除了设备文件(包括字符设备文件和块设备文件二种)外,每 ...

  7. 【转】在发布站点前,Web开发者需要关注哪些技术细节

    转摘:http://www.csdn.net/article/2014-05-19/2819818-technical-details-programmer 在网站发布前,开发者需要关注有许多的技术细 ...

  8. flex拖动图片

    <?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="htt ...

  9. vba 批量生成条形图代码

    Sub hong3()'' 宏3 宏d Dim a, b As Integer Dim str As String For a = 227 To 947 Step 15 b = a + 5 str = ...

  10. vab set dim

    '问题一'给普通变量赋值使用LET ,只是LET 可以省略.'给对象变量赋值使用SET,SET 不能省略. Sub AA()    Dim arr As String    arr = "h ...