接手一个项目时,如果上一位负责人没有把项目文档、账号密码整理好是一件很头疼的事情。。 例如,当你想打开MySQL数据库的时候 输入:

mysql -u root -p 一回车想输入密码,发现密码错误!!

# [MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)](https://www.cnblogs.com/gumuzi/p/5711495.html)

立马有种想要砸键盘的冲动~不过别慌,程序员最厉害的地方就是,上网找解决方案哈哈;

下面就和大家分享一下 《MySQL忘记密码的解决方案》

1、找到 my.cnf 配置文件的位置

windows下修改的是my.ini,这里主要说的是Linux的具体操作,

Linux系统使用 whereis 能够很方便地找到文件的位置:

$ whereis my
$ my:/etc/my.cnf
复制代码
2、修改 my.cnf

如果你是 root 用户,直接vim /etc/my.cnf (注:windows下修改的是my.ini)

如果你是普通用户 , sudo vim /etc/my.cnf

进入vim编辑器编辑之后,找到 [mysqld] ,按键盘的 i 键进入编辑模式,在[mysqld]后面任意一行添加 skip-grant-tables 用来跳过密码验证的过程:

按 ESC 退出编辑,键入 :wq ,回车即保存并退出。

3、 重启 mysqld 服务
$ sudo /etc/init.d/mysqld restart
复制代码

普通用户在这个命令最前面加上 sudo ,root 用户就不用啦。

4、无密进入MySQL
$ mysql -u root -p
复制代码

出现Entering password 无需理会,回车即可进入 MySQL 数据库。

5、修改root密码

进入到 MySQL 数据库之后,我们就可以更新 "mysql"数据库中“user”表的 root 记录的密码了

mysql > use mysql;
mysql > update user set password=password('YOUR_NEW_PASSWORD') where user='root';
mysql > flush privileges;
复制代码

步骤解析:

use mysql; 进入到名为 “mysql” 的数据库,

​ 然后使用 update 语句更新密码,

​ 更新密码之后使用 flush privileges; 刷新权限。

注意: password()函数是用于密码储存的加密函数,该函数的加密过程不可逆!因此除非用大量的数据进行比对,不然没办法使用什么逆函数查看旧的密码,只能使用该函数更新密码,YOUR_NEW_PASSWORD 就是自己设置的新密码。

设置好新密码之后,Ctrl + D退出 MySQL 数据库。

6、重新配置 my.cnf 文件

重新用 vim 打开 my.cnf ,将刚才的 skip-grant-tables 删除或者在前面加上#号注释,保存并退出。

7、重启 mysqld 服务
$ sudo /etc/init.d/mysqld restart
复制代码
8、用新密码进入MySQL
$ mysql -u root -p
复制代码

出现Entering password 时,输入你的新密码,回车进入,出现 mysql 欢迎界面,恭喜你,修改密码完成!

作者:57EN
链接:https://juejin.im/post/5c0e579d5188257abf1d5414

MySQL忘记密码了怎么办?的更多相关文章

  1. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  2. windows主机mysql忘记密码如何重置

    本文主要是针对mysql重置密码过程中出现“mysqld不是内部命令或外部命令”的问题而写的.网上有很多关于mysql忘记密码了如何找回的文章,但是很多说的都不够详细,特别是还要用到DOS命令,可能这 ...

  3. windows环境下mysql忘记密码如何重置

    本文主要是针对mysql重置密码过程中出现“mysqld不是内部命令或外部命令”的问题而写的.网上有很多关于mysql忘记密码了如何找回的文章,但是很多说的都不够详细,特别是还要用到DOS命令,可能这 ...

  4. ubuntu14下mysql忘记密码的处理

    ubuntu14下mysql忘记密码的处理 ubuntu14.04忘记了mysql的用户(root)的密码.接下来: 1) 停止mysql服务 $ sudo stop mysql 2) 启动mysql ...

  5. MySQL忘记密码怎么修改密码

    MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事.如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方 ...

  6. Mysql 忘记密码

    Mysql 忘记密码,跳过密码登陆,在更改密码. Linux 系统: 1.查看平时进程:杀掉mysql进程. kill -TERM mysqld 或者 : ps -ef | grep mysqld | ...

  7. [转]MySQL忘记密码的正确解决方法

    http://database.51cto.com/art/201005/201986.htm 以下的文章主要介绍的是MySQL忘记密码的正确解决方法,在实际操作中如果你忘记MySQL密码是一件很头痛 ...

  8. mysql忘记密码怎么办?(转)

    linux下mysql忘记密码处理方法: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码 ...

  9. Mysql 忘记密码处理配置

    Mysql忘记密码处理 1.设置mysql密码 mysqladmin -uroot password ‘密码’ 2.主配置文件下取消密码授权 vim /etc/my.cnf 注:加入skip-gran ...

随机推荐

  1. PAT甲题题解-1041. Be Unique (20)-水题

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789189.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  2. PAT甲题题解-1054. The Dominant Color (20)-排序/map

    原本用map,发现超时了,后来便先用数组存储排个序,最后for一遍统计每种颜色出现的次数(每种颜色的首位索引相减+1),找出最多的即可. #include <iostream> #incl ...

  3. 20135202闫佳歆--week4 课本第5章学习笔记

    第五章 系统调用 一.与内核通信 系统调用在用户控件进程和硬件设备之间添加了一个中间层,作用如下" 为用户空间提供了一种硬件的抽象接口 系统调用保证了系统的稳定和安全 每个进程都运行在虚拟系 ...

  4. APP相关问题汇总

    APP试用过程中,我们的APP存在不少的问题,下面是一些试用者和我们自己发现的一些问题以及一些建议. 1.APP界面有些老气,界面之间过渡僵硬 2.在试用中会出现闪退情况 3.由于我们使用的是绝对布局 ...

  5. 第二个spring冲刺第7天

    今天因为停电,所以没什么进展,延迟一天工作,今天当作休息

  6. PHP 执行命令时sudo权限的配置

    PHP 执行命令时sudo权限的配置 1.先写一个PHP文件 <?php system('whoami'); 先看自己的apache2的用户是谁,下面是笔者的截图,笔者使用apche2的用户是w ...

  7. CodeM Qualifying Match Q5

    问题描述: 给定两个整数 l 和 r ,对于所有满足1 ≤ l ≤ x ≤ r ≤ 10^9 的 x ,把 x 的所有约数全部写下来. 对于每个写下来的数,只保留最高位的那个数码.求1-9每个数码出现 ...

  8. BZOJ2547 CTSC2002玩具兵(最短路径+二分答案+最大流)

    先不考虑只有一个显得有些特殊的天兵. 可以发现超能力的作用实质上是使兵更换职业.每一个兵到达某个位置最少需要更换职业的次数是彼此独立的,因为如果需要某两人互换职业可以使他们各自以当前职业到达需要到的地 ...

  9. Could not resolve placeholder 'jdbc.driver'

     将jdbc.driver=oracle.jdbc.OracleDriver 改成jdbc.driver=oracle.jdbc.driver.OracleDriver     或者反过来修改.    ...

  10. 深入解析ES6 更易于继承的类语法的使用

    和其它面向对象编程语言一样,ES6 正式定义了 class 类以及 extend 继承语法糖,并且支持静态.派生.抽象.迭代.单例等,而且根据 ES6 的新特性衍生出很多有趣的用法. 一.类的基本定义 ...