xfyanmeng 2018-01-22 06:00 采纳率: 33.3%
浏览 1395
已结题

linux mysql密码忘了怎么办?

看了网上的修改my.cnf文件添加 skip-grant-tables,我通过xshell用空密码登陆数据库提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我用phpmyadmin登陆提示空密码禁止登陆
怎么办呢?

  • 写回答

10条回答 默认 最新

  • imwinglee 2018-01-22 06:01
    关注

    Linux:

    MySQL root密码的恢复方法之一

    如果忘记了MySQL root密码,可以用以下方法重新设置:

    1.KILL掉系统里的MySQL进程;
    killall -TERM MySQLd

    2.用以下命令启动MySQL,以不检查权限的方式启动;
    safe_MySQLd --skip-grant-tables &

    3.然后用空密码方式使用root用户登录 MySQL;
    MySQL -u root

    4.修改root用户的密码;
    MySQL> update MySQL.user set password=PASSWORD('新密码') where User='root';

    MySQL> flush privileges;

    MySQL> quit

    重新启动MySQL,就可以使用新密码登录了。

    MySQLroot密码的恢复方法二

    有可能你的系统没有 safe_MySQLd 程序(比如我现在用的 ubuntu操作系统, apt-get安装的MySQL) , 下面方法可以恢复

    1.停止MySQLd;
    sudo /etc/init.d/MySQL stop
    (您可能有其它的方法,总之停止MySQLd的运行就可以了)

    2.用以下命令启动MySQL,以不检查权限的方式启动;
    MySQLd --skip-grant-tables &

    3.然后用空密码方式使用root用户登录 MySQL;
    MySQL -u root

    4.修改root用户的密码;
    MySQL> update MySQL.user set password=PASSWORD('newpassword') where User='root';

    MySQL> flush privileges;

    MySQL> quit

    重新启动MySQL
    /etc/init.d/MySQL restart
    就可以使用新密码 newpassword 登录了。

    评论

报告相同问题?