方法1:用setpassword命令
mysql -uroot
mysql> set password for'root'@'localhost' = password('newpass');
方法2:用mysqladmin
如果root已经设置过密码,采用如下方法mysqladmin-u root password "newpass"
mysqladmin -u root passwordoldpass "newpass"
方法3:用update直接编辑user表
mysql -u root
mysql> use mysql;
mysql> update user setpassword = password('newpass') where user = 'root';
mysql> flush privileges;
方法4: 在忘记root密码的时候,可以这样操作数据库:
第一步:首先停止数据库,执行以下命令:
如果是利用apt-get或yum安装的mysql可以直接执行mysql.serverstop 命令
如果数据库为编译安装,那么需要进入到mysql的命令目录bin/下,
执行:./mysql.server stop 或者servicemysqld 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 setpassword=password("new password") where user='root';
mysql> flush privileges;
第五步:重启数据库
密码修改完成后,将my.cnf文件中添加的skip-grant-tables语句注释或删除掉,然后重启即可。