修改/忘记数据库密码

如何修改数据库密码

mysql 5.7+ 的数据库没有了password字段 用的是authentication_string字段,需要将password替换成authentication_string

一、 用 SET PASSWORD 命令

首先登录 MySQL

格式:mysql> set password for 用户名 @localhost = password('新密码');

例子:mysql> set password for root@localhost = password('123');

二、用 mysqladmin

格式: mysqladmin -u 用户名 -p 旧密码 password 新密码

例子: mysqladmin -uroot -p123456 password 123

三、用 UPDATE 直接编辑 user 表

首先登录 MySQL。

mysql> use mysql;

mysql> update user set password=password('123') where user='root';

mysql> flush privileges;

四、在忘记 root 密码的时候,可以这样

windows下修改

1. 关闭正在运行的 MySQL 服务。

2. 打开 DOS 窗口,转到 mysql\bin 目录。

3. 输入 mysqld --skip-grant-tables 回车。 --skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证。

4. 再开一个 DOS 窗口(因为刚才那个 DOS 窗口已经不能动了),转到 mysql\bin 目录。

5. 输入 mysql 回车,如果成功,将出现 MySQL 提示符 >。

这里写图片描述

6. 连接权限数据库: use mysql;

7. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号)

8. 刷新权限(必须步骤):flush privileges;

9. 退出 quit

10. 注销系统,再进入,使用用户名 root 和刚才设置的新密码 123 登录。

linux下修改

Windows同样适用。原理和上一个方法一样

1. 首先编辑mysql安装目录下的 my.cnf 文件:vi my.cnf 【注:windows下修改的是 my.ini

2. 找到 [mysqld] 行,在其下方添加一行: skip-grant-tables

这里写图片描述

这里写图片描述

3. 按 esc 输入 :wq 保存退出

4. 重启服务 service mysql restart 【windows下需要打开“服务”并找到mysql重启】

5. 修改 mysql 密码 set password = password('root'); 或使用 方法 3

6. 修改完密码后,需要将 my.cnf(my.ini) 文件修改回原样。

7. 重启服务。完成

五、解决5.7版本不用密码也能登录

  1. 登录mysql:mysql -u root -pmysql
  2. 修改密码:
use mysql;
update user set authentication_string=PASSWORD("密码") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
  1. 重启服务 /etc/init.d/mysql restart
  2. 登录mysql :mysql -u root -p 密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值