一:(停掉正在运行的mysql)
[root@NetDakVPS ~]# service
mysql
stop
二:使用
“--skip-grant-tables”参数重新启动mysql
[root@NetDakVPS ~]# mysqld_safe --skip-grant-tables
&
[1] 23810
Starting mysqld daemon with databases from
/var/lib/mysql
三:用root帐号登录mysql
[root@NetDakVPS ~]# 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 distributionType ‘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 -ADatabase changed
五:修改密码,记得密码要用password()函数进行加密
mysql> update user set password=password(‘netdak‘)
where user=‘root‘;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
六:刷新权限表
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
七:退出mysql
mysql> quit
Bye
八:对mysql进行重启
[root@NetDakVPS ~]# service mysql restart;
STOPPING server from pid file
/var/run/mysqld/mysqld.pid
100421 13:44:03 mysqld endedStopping MySQL: [ OK ]
Starting MySQL: [ OK ]
[1]+ Done mysqld_safe --skip-grant-tables
九:用更改过的密码重新登录即可。
[root@NetDakVPS ~]# mysql -u root -p
Enter password: netdak
Welcome to the MySQL monitor. Commands end with ; or
\g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distributionType ‘help;‘
or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.mysql> quit
Bye
十、重新执行修改密码
SET PASSWORD = PASSWORD(‘123456‘);
注:第十步不一定需要,但是 MySql5.6操作时可能会报错:You must SET PASSWORD before executing this statement.
Centos下忘记mysql的root密码的解决方法,布布扣,bubuko.com
原文:http://www.cnblogs.com/ribavnu/p/3796972.html