MySQL修改root密码的多种方法

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=981

CentOS里用yum安装的mysql,没有自动创建mysql数据库,root账号的默认密码为空,如果要修改root账号的密码,需要从别的数据库把mysql数据库导过来,才能修改。

 

方法1: 用SET PASSWORD命令,我试了,这种方法可行,而且可以把密码设置为空,不需重启mysql服务

  mysql -u root   --我试了,如果mysql本身有密码,执行这个命令进不去

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表,我试了,这种方法可行,不能把密码设置为空,需重启mysql服务

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql    我执行的时候,提示mysql数据库不存在,这台CentOS里用yum安装的mysql确实没有自动创建mysql数据库。

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=981