方法1: 用SET PASSWORD命令
MySQL -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
如果root已经设置过密码,采用如下方法 mysqladmin -u root password "newpass"
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;
方法4: 在忘记root密码的时候,可以这样操作数据库:
第一步:首先停止数据库,执行以下命令:
如果是利用apt-get或yum安装的mysql可以直接执行mysql.server stop 命令
如果数据库为编译安装,那么需要进入到mysql的命令目录bin/下,
执行:./mysql.server stop 或者service mysqld stop
第二步:修改my.cnf
利用vim命令打开mysql配置文件my.cnf
在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存。
第三步:重启数据库
利用命令行工具重启数据库
Service mysqld restart
第四步:修改root密码
重启数据库后可以不用密码直接登陆:
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
#将password()中的newpassword字符更改为你自己的密码。
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
第五步:重启数据库
密码修改完成后,将my.cnf文件中添加的skip-grant-tables语句注释或删除掉,然后重启