看了网上的修改my.cnf文件添加 skip-grant-tables,我通过xshell用空密码登陆数据库提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我用phpmyadmin登陆提示空密码禁止登陆
怎么办呢?
linux mysql密码忘了怎么办?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
10条回答 默认 最新
imwinglee 2018-01-22 06:01关注Linux:
MySQL root密码的恢复方法之一
如果忘记了MySQL root密码,可以用以下方法重新设置:
1.KILL掉系统里的MySQL进程;
killall -TERM MySQLd2.用以下命令启动MySQL,以不检查权限的方式启动;
safe_MySQLd --skip-grant-tables &3.然后用空密码方式使用root用户登录 MySQL;
MySQL -u root4.修改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 root4.修改root用户的密码;
MySQL> update MySQL.user set password=PASSWORD('newpassword') where User='root';
MySQL> flush privileges;
MySQL> quit重新启动MySQL
/etc/init.d/MySQL restart
就可以使用新密码 newpassword 登录了。解决 无用评论 打赏 举报