日期:2014-05-16  浏览次数:20688 次

linux清除MYSQL密码
1.先以root用户登录系统;
检查是否安装mysql
输入命令:
rpm -qa |grep –i mysql
如果有提示,证明mysql已经安装,那么使用rpm –e mysql卸载mysql包。

/etc/init.d/mysql status 可以查看MYSQL的状态(ps -ef|grep mysql)

2.关闭MYSQL服务或进程:
/etc/init.d/mysql stop

3.特权启动MYSQL:
find / -name mysql
cd /usr/lib/mysql

mysqld_safe --skip-grant-tables & or mysqld_safe --skip-grant-tables --skip-networking & (注:参数--skip-grant-tables为跳过授权表;--skip-networking为不监听TCP/IP连接);

4.然后可以不需要密码进入MySQL:mysql -u root -p(要求输入密码时直接回车即可);

mysql>use mysql;

mysql>update user set password=password('new pw') where user='root' (注:'new pw' 就是你的新密码,其它照抄;

另一种写法:update mysql.user set password=password('new pw') where user='root';

5.更新下:

mysql>flush privileges;

mysql>quit;

6.结束刚启动过的MYSQL进程:/etc/init.d/mysql stop

7.正常启动MYSQL: /etc/init.d/mysql start

8.用'new pw'登入:mysql -u root -p.

OK......



>>同时也可以这样做:
首先,修改MySQL的登录设置:

# vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-grant-tables

保存并且退出vi。

然后,重新启动mysqld,进去修改密码,同上述方法;

最后,将MySQL的登录设置修改回来:

# vi /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除

保存并且退出vi。

再次登入MYSQL,一样OK......