linux下mysql的忘记root密码的解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下mysql的忘记root密码的解决办法相关的知识,希望对你有一定的参考价值。

因为放寒假家里没有宽带,便很少上网,前几天用手机进入自己的个人博客时竟然返回数据库不能连接的错误,吓我一跳,网站肯定被人黑了,但转头一想我的博客就几篇破文章,谁这么无聊要黑,我并没有立刻去网上找解决的办法,因为手机不能连接服务器。今天打开电脑第一件事就是要解决这个问题,我确定我的mysql登录密码没有写错,但是不明白为什么一直报这样的错: Access denied for user ‘root‘@‘localhost‘ (using password:YES) 索性我就改一下登录密码试试在网上搜了搜,一位园友的方法解决了这个问题:

原文地址: http://www.cnblogs.com/allenblogs/archive/2010/08/12/1798247.html

方法:

1.修改MySQL的登录设置: 
# vi /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
保存并且退出vi。 
2.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ] 
3.登录并修改MySQL的root密码 
# /usr/bin/mysql 
Welcome to the MySQL monitor. Commands end with ; or \\g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type ‘help;‘ or ‘\\h‘ for help. Type ‘\\c‘ to clear the buffer. 
mysql> USE mysql ; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
Database changed 
mysql> UPDATE user SET Password = password ( ‘new-password‘ ) WHERE User = ‘root‘ ; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 2 Changed: 0 Warnings: 0 
mysql> flush privileges ; 
Query OK, 0 rows affected (0.01 sec) 
mysql> quit 
Bye 
4.将MySQL的登录设置修改回来 
# vi /etc/my.cnf 
将刚才在[mysqld]的段中加上的skip-grant-tables删除 
保存并且退出vi。 
5.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]

以上是关于linux下mysql的忘记root密码的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

[笔记] MySQL5 忘记 root 密码的解决办法

linux下mysql的root密码忘记办法

MySQL忘记密码 或者误删除root用户有效解决办法

在Linux环境下mysql的root密码忘记解决方法

linux下mysql忘记root密码解决方法

linux下mysql的root密码忘记解决方法