zoukankan      html  css  js  c++  java
  • MySQL忘记密码了怎么办?

    接手一个项目时,如果上一位负责人没有把项目文档、账号密码整理好是一件很头疼的事情。。 例如,当你想打开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 用来跳过密码验证的过程:

    mysqld 位置

    按 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

  • 相关阅读:
    Laravel报500错误
    本地部署laravel项目遇到500错误 软链接
    Class 'Maatwebsite\Excel\ExcelServiceProvider' not found
    laravel5.8报500服务器错误
    phpstudy安装redis
    如何在FastAdmin中使用Ajax发送请求?
    关于mysql处理百万级以上的数据时如何提高其查询速度的方法
    判断一个数组里面的所有键所对应的值是否是为int型
    将json字符串中含有非int型的数字字符全部改为int型
    php判断json是否是一个标准的json字符串
  • 原文地址:https://www.cnblogs.com/kkdn/p/10137347.html
Copyright © 2011-2022 走看看