MySQL数据库修改密码的方法

配置环境

系统环境:
在这里插入图片描述
MySQL版本:
MySQL版本

问题描述

今天学习flask框架中连接数据库的操作, 要用到MySQL. 之前看过一点数据的操作, 所以MySQL已经装在电脑上了, 但是密码忘记了(也许我当时就没设置密码:)). 总之, 现在我需要知道MySQL根目录登录密码.

解决过程

遇到这样的问题, 首先是搜索引擎来一波, 先是查找如何修改密码, 但是找到的解决方法里面都有一条这样的过程:

  • 修改MySQL的配置信息;
  • 免密安全登录;
  • 修改密码;

但是到我具体实践的时候问题就比较多了, 可能是我搜索到的解决方法都是几年之前的, 所以配置文件的位置不太一样, 因此没有办法免密登录, 就算我用sudo权限登录, 修改密码了, 仍然没有办法正常用密码登录;

关于用sudo权限登录:
我可以用sudo mysql -u root进入到MySQL的交互命令行, 目前不知道为什么, 希望评论可以帮我解决;

最后我直接将错误信息, 粘到搜索引擎中, 找到了一个博客(MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@'localhost’错误解决办法), 系统环境的配置和我基本一致, 用这样方法可以解决. 解决过程如下:

  1. 修改MySQL的配置文件, 使得可以免密安全登录
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在下面的位置添加skip-grant-tables, 保存并退出.
编辑配置文件

  1. 免密登录
# 重启MySQL服务
$ sudo service mysql restart
# 进入MySQL命令交互
$ mysql -u root -p # 这条命令回车之后, 会提示输入密码, 不用输入密码,直接回车即可
  1. 查看密码验证信息;
mysql> use mysql;
mysql> select user, plugin from mysql.user;

可以看到如下信息:

+------------------+-----------------------+
| user             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.session    | mysql_native_password |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

这说明root用户不是使用本地密码.

  1. 修改登录密码和plugin;
mysql> use mysql;

# 123456就是新设置的密码, 修改成自己的密码就可以了
mysql> update user set authentication_string=password("123456"), plugin=mysql_native_password where user="root";

关于authentication_string字段:
我查的几个几年前的博客里面使用的password字段, 但是在这个版本里面已经更新为authentication_string字段了;

关于MySQL的登录密码:
有一篇博客(mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements)提到说密码必须包含大小写字母, 特殊字符, 数字, 长度至少为8个字符, 但是我设置成 ‘123456’ 一点问题都没有, 这个还有待考证;

  1. 刷新
mysql> flush privileges; 
  1. 删除/注释第一步在配置文件中添加的skip-grant-tables, 并重启mysql服务;

如果还有其他问题, 参见MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@'localhost’错误解决办法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值