学习CentOS Linux的时候经常会忘记各种密码,本文主要说明在使用CentOS的过程中,忘记MySQL数据库密码的解决办法。
第一步:通过如下代码,停止MySQL服务器的运行
01
02
|
[root@CentOs5 ~]# service mysqld stop
Stopping MySQL: [ OK ]
|
第二步:使用 “–skip-grant-tables”参数重新启动mysql
01
02
03
|
[root@CentOs5 ~]# mysqld_safe
--skip-grant-tables &
[1] 23810
[root@CentOs5 ~]# Starting mysqld daemon
with
databases
from
/var/lib/mysql
|
第三步:用帐号登录MySQL
01
02
03
04
05
|
[root@CentOs5 ~]# mysql -u root
Welcome
to
the MySQL monitor. Commands
end
with
;
or
\g.
Your MySQL
connection
id
is
1
Server version: 5.0.77 Source distribution
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear the buffer.
|
第四步:改变用户数据库表
01
02
03
04
|
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
|
第五步:修改密码,记得密码要用password()函数进行加密,一定不要忘记!不然,
01
02
03
|
mysql>
update
user
set
password
=
password
(
'admin123'
)
where
user
=
'root'
;
Query OK, 1 row affected (0.04 sec)
Rows
matched: 1 Changed: 1 Warnings: 0
|
第六步:刷新权限表
01
02
03
04
|
mysql> flush previleges;
ERROR 1064 (42000): You have an error
in
your SQL syntax;
check
the manual that corresponds
to
your MySQL server version
for
the
right
syntax
to
use near
'previleges'
at
line 1
mysql> flush
privileges
;
Query OK, 0
rows
affected (0.00 sec)
|
第七步:退出mysql
01
02
|
mysql> quit
Bye
|
第八步:对mysql进行重启
01
02
03
04
05
06
|
[root@CentOs5 ~]# service mysqld restart;
STOPPING server
from
pid file /var/run/mysqld/mysqld.pid
100421 13:44:03 mysqld ended
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
[1]+ Done mysqld_safe
--skip-grant-tables
|
第九步:用更改过的密码重新登录即可。
01
02
03
04
05
06
07
08
09
|
[root@CentOs5 ~]# mysql -u root -p
Enter
password
: admin123
Welcome
to
the MySQL monitor. Commands
end
with
;
or
\g.
Your MySQL
connection
id
is
2
Server version: 5.0.77 Source distribution
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear the buffer.
mysql> quit
Bye
[root@CentOs5 ~]#
|