方法1: 用SET PASSWORD命令

  mysql -u root

  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 -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> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;



第一种方法:

root用户登录系统

/usr/local/mysql/bin/mysqladmin -u root -p password 新密码

enter password 旧密码


第二种方法:

root用户登录mysql数据库

mysql> update mysql.user set password=password(”新密码”)where User=”root”;

mysql> flush privileges;

mysql> quit ;


mysql忘记root密码如何处理?


如果 MySQL 正在运行,首先结束mysql进程: killall mysqld

启动 MySQL (非正常方式起动):/usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

这样就可以不需要密码进入 MySQL :/usr/local/mysql/bin/mysql -u root -p (要求输入密码时直接回车即可)

mysql> update user mysql.set password=password(”新密码”) where user=”root”;

mysql> flush privileges;

mysql> quit;

重新结束进程:killall mysqld

用正常方式启动 MySQL :/usr/local/mysql/bin/mysqld_safe -user=mysql &


注: update语句里的password=password(”新密码”)只有新密码三个字在操作时替换成我们要设置的密码,其它原样照写,之前我做失败的原因就在于把括号及前面的password给略掉造成的.它们的作用是使密码以加密的形式存储在数据库里。