知道密码,修改mysql数据库密码
- 使用 set password 命令修改密码;
set password for root@localhost = password('新密码')
- 用mysqladmin 命令修改密码;
mysqladmin -u用户名 -p旧密码 password 新密码
命令在命令行中运行:
mysqladmin -uroot -p123 password 123456
验证:
- 直接修改mysql数据库中的user表的authentication_string列,因为用户信息存储在user表中;
mysql> use mysql
mysql> update user set authentication_string=password('新密码') where user='用户名' and host='localhost';
# 刷新用户权限
mysql> flush privileges;
重新登录界面:
注意:如果mysql版本为5.7以下,数据库user表中密码字段是password,所以将
authentication_string改为password。
我的数据库版本为5.7,使用password报错。
忘记root密码,修改mysql数据库密码
- 在windows系统下
- 关闭电脑上的mysql服务;
- 用键盘输入win+R,打开DOS窗口,使用cd命令跳转到mysql\bin目录;
- 在DOS命令行输入mysqld --skip-grant-tables 回车。其中**–skip-grant-tables** 是启动MySQL服务的时候跳过权限表认证,即不用输入密码进入mysql;
- 重新再打开一个DOS窗口(因为刚才那个DOS窗口已经不能动了)注意不能关闭,使用cd命令跳转到mysql\bin目录,输入mysql回车,如果成功,将出现MySQL提示符 >;
- 连接系统自带权限数据库mysql,并且修改数据库中user表的authentication_string列;
mysql> use mysql
Database changed
mysql> update user set authentication_string=password('123456') where user='root
' and host='localhost';
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.16 sec)
- 退出mysql,重新打开mysql服务,使用用户名root和刚才设置的新密码123456登录,验证。
注意:验证的时候不要忘记重新启动服务。