MySQL 中忘记 root 账户密码后重置密码及允许远程访问

一、重新设置密码
1、 登录 MySQL
  1. 在任务管理器中结束 mysqld.exe 进程,确保 MySQL 服务端结束运行。
  2. 进入 MySQL 安装文件的 bin 目录 C:\Program Files\MySQL\MySQL Server 5.7\bin,在地址栏输入 cmd,并回车,以在 cmd 中定位到 MySQL 安装文件的 bin 目录(如果配置了对应的环境变量,可以直接输入命令,不用定位到此目录位置)。
  3. 执行命令 mysqld --skip-grant-tablesmysqld --skip-grant-tables 命令允许所有用户以匿名的方式,无需做密码验证直接登录 MySQL 服务器,并且拥有所有的操作权限。
  4. 重复第 2 步,打开一个新的 cmd 窗口,直接执行 mysql 命令连接 MySQL 数据库。
  5. 在 cmd 窗口中执行命令 use mysql; 选择 mysql 数据库。
2、 修改 root 账户密码
  1. 执行命令 select user,host,password from user; 查看账户信息。
  2. 执行命令 update user set password=password('123') where user='root' and host='localhost'; 修改指定账户登录密码。
  3. 执行命令 flush privileges; 刷新。
3、解决 MySQL 5.7 无法登录的问题
  • 问题描述
    我使用 MySQL 5.7.25 版本,在执行命令 mysqld --skip-grant-tables 后,使用 mysql 命令无法登录,错误提示如下。

    mysqld: Can’t change dir to ‘C:\Program Files\MySQL\MySQL Server 5.7\data’ (Errcode: 2 - No such file or directory)

  • 解决方法
    1. 服务窗口中找到 MySQL 服务,并将其停止。也可以执行命令 net stop MySQL57 将其停止。
    2. 在服务窗口中找到 MySQL 服务,并通过【右击】-【属性】,获取其路径 "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57
    3. 执行命令 "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables 启动 MySQL。注意:将拷贝的 MySQL 服务路径去掉最后的服务名称 MySQL57;执行该命令后,cmd 不会有任何响应,MySQL 将在后台工作。
    4. 打开新的 cmd,执行命令 mysql -u root mysql 登录。
二、设置允许远程访问
1、测试远程登录

  在 cmd 中执行命令 mysql -u root -p -h ip地址 测试是否能登录。

2、查看所有账户

  本地登录后,切换到 mysql 数据库,执行命令 select user,host from user; 查看所有账户信息。

3、授权 root 账户可以远程登录
  • 方法
    执行命令 grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
  • 说明
    • *.* 代表所有资源所有权限。
    • 'root'@%
      • root 代表账户名。
      • % 代表所有的访问地址。也可以使用一个唯一的地址,只有该地址能够访问。也可以是某个网段的地址,使用地址与 % 结合的方式,如 47.99.122.%
    • identified by '123' 123 表示访问密码。
    • with grant option 表示允许授权。
4、刷新权限

  执行命令 flush privileges

5、查看所有账户

  执行命令 select user,host from user; 后发现 root 账户的 host 多了一个 %,表示所有地址可以访问。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值