一、
如何在已知密码的情况下修改mysql的用户密码呢?
USE mysql;
SELECT * FROM USER;
修改密码
UPDATE USER SET PASSWORD=PASSWORD(‘你的密码’) WHERE USER=‘root’;
也可分配权限账户:
GRANT SELECT ON test.employee TO ‘eric’@‘localhost’ IDENTIFIED BY ‘123456’;
GRANT DELETE ON test.employee TO ‘eric’@‘localhost’ IDENTIFIED BY ‘123456’;
刷新权限
mysql> FLUSH PRIVILEGES;
显示当前的user:
mysql> SELECT USER();
二、
如何在忘记密码的情况下修改mysql的用户密码呢?
下面的操作是在mysql中bin目录
需要切换到mysql的bin 目录下执行如下语句
- 在进程中关闭mysqld.exe
- 在bin目录下> mysqld -nt --skip-grant-tables
- 新开一个命令行运行:
在bin目录下> mysql -u root
此时可以修改密码了
USE mysql;
SELECT * FROM USER;
UPDATE USER SET PASSWORD=PASSWORD(‘你的密码’) WHERE USER=‘root’;
下面的也可以:
- 先找到mysql的安装目录,本机安装的目录是D:\Program Files\MySQL\MySQL Server 5.5\bin\。
- 运行cmd,切换到mysql bin目录
3. 输入 mysql -uroot -p
4. 然后回车,回车后 会要求输入密码:
5. 因为这时候密码是为空的,所以不需要输入,直接回车就可以了
6. 输入 use mysql; (注意结尾有分号;)
出现 Database changed 就对了,接下来就要开始设置密码了。
- 输入 update user set password=password(“这里填写要设置的密码”) where user=“root”;
比如我这里是要设置为 12345这样的密码,所以实际输入的是
update user set password=password(“12345”) where user=“root”;
然后回车
表示密码已经设置,但这时候密码还没有生效,还需要刷新一下权限(这一步也是关键的)
- 输入 flush privileges; (注意结尾有分号;),然后回车
- 到此为止,密码已经修改并生效了,但是还需要测试一下,所以我们再输入 quit 并回车,先退出mysql
- 输入 quit 并回车
- 现在开始测试一下我们刚才的密码设置是否成功
- 输入之前第一步输入过的 mysql -uroot -p,并回车
- 这个时候一样会要求我们输入密码,接下来我们输入 刚刚设置好的密码:12345,并回车(密码输入后是不可见的,输入不要输错了)
如果之前的步骤没错的话,应该会出现下面这样的
也就是说,密码设置已经成功了。
如果要修改密码,也是按照上面这样的步骤去设置就可以了,只是现在已经有密码了,不能再直接以回车代替密码了。