目录
一、使用mysqladmin.exe
cd C:\Program Files\MySQL Server 8.0\bin
mysqladmin -u root -p password 123456
Enter password:
如果是第一次修改root密码,直接回车即可,因为初始密码为空,如果以前修改过密码,那么键入以前的密码,然后回车。
也可以一次性键入原密码
mysqladmin -u root -ppreviouspassword password newpassword
注意-p与previouspassword之间不能有空格,否则报错。
二、使用update命令
如果使用update命令更改root的密码,需要使用mysql自带的加密函数PASSWORD(String),该函数对一个明文密码进行加密,是不能解密的,专门用于mysql.user(用户权限表)中设置密码的。
mysql>use mysql
Database changed
mysql>update user set password=PASSWORD('123456') where user='root‘;
Query OK.0 rows affected(0.00 sec)
Roes matched:1 Changed:0 warnings:0
mysql>flush privileges;
Query OK,0 rows affected (0.00 sec)
注意在使用update后,需要进一步输入flush privileges;语句,否则修改密码命令操作不会生效,如果需要设置mysql的root密码为空,则不需要使用PASSWORD函数,直接
mysql>update user set password='' where user='root';
即可,其他的一样。
三、使用set password命令
格式:mysql> set password for 用户名@localhost = password('新密码');
例如
mysql> set password for root@localhost = password('123');
四、在忘记root密码的时候
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,进入\bin目录。
cd C:\Program Files\MySQL Server 8.0\bin
3. 输入
mysqld --skip-grant-tables
回车。
--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),进入\bin目录。
cd C:\Program Files\MySQL Server 8.0\bin
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库:
use mysql;
6. 改密码:
update user set password=password("123") where user="root";
(别忘了最后加分号)
7. 刷新权限(必须步骤):
flush privileges;
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。