关于Linux下MySQL修改root密码时遇到的问题


在Linux系统中搭建好LAMP环境之后,我想把自己的一些网站挂在Linux系统中,为了安全起见要设置mysql中root的密码(默认root密码为空)以前用命令mysqladmin -u root -p password bixinnan可以设置成功,可是这次却出现如下错误:

[root@localhost ~]# mysqladmin -u root password bixinnan
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

    如截图所示:


    这种情况还是第一次遇到,没办法就到处找资料。网上很多方法都不行,最后结合多家精髓总结出适合自己的方法如下:

用 service mysqld stop(或者killall mysqld  )命令结束mysql服务进程

mysqld_safe --skip-grant-tables &  启动安全模式

输入 mysql -uroot -p 回车进入 (不用密码)

>use mysql;

> update user set password=PASSWORD("bixinnan")where user="root"; 更改密码为 bixinnan

> flush privileges; 更新权限
> quit 退出

service mysqld restart

mysql -uroot -p新密码进入  如截图所示:


到这里linux下mysql修改root密码基本上就可以了。在学习的过程中我也总结了其他修改密码方法供大家参考:

方法一

  使用mysqladmi

  mysqladmin -u root -p password bixinnan

  输入这个命令后,需要输入root的原密码,然后root的密码将改为bixinnan。

  把命令里的root改为你的用户名,你就可以改你自己的密码了。

  当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的。

  而且mysqladmin无法把密码清空。

相关内容