忘记Mysql用户密码怎么办

我的Mysql数据库在云服务器上,很久没有使用了,现在换了新的电脑 找不到原来的密码。

我先用Xshell通过主机名(ip地址) +linux的用户密码连接到主机

登陆shell连接服务器

找到MySQL配置文件,我的是MySQL5.7,在

mysqld.cnf位置

打开之后需要在 [mysqld] 下面添加这样一条命令

skip-grant-tables

 这大概是mysql的用户权限表

vim操作就不详细说了,相信大家都会,:wq保存退出。

然后重启数据库,我的命令是

service mysql restart

输入

mysql -u root -p 

然后他会叫你输入密码,直接敲回车就可以,不出意外就进去了


跳过密码登录MySQL

然后use mysql 切换到mysql数据库,没错就是mysql数据库的mysql数据库,它里面有个user表 下面执行sql语句

update user set authentication_string=password('123456') where user='root';

将authentication_string 设成 123456?大概是这意思,它说query ok ,1row affected 意思就是真的OK了 不信的话你可以select查询一下


然后

flush privileges;

输入这个刷新 一下权限。(很重要!!!)


然后

 vim /etc/mysql/mysql.conf.d/mysqld.cn


把配置文件改回去,保存退出之后,再次重启数据库

然后正常登录发现 密码123456能够正常登录,不输入密码的却不行了。

借鉴:https://baijiahao.baidu.com/s?id=1598051082885355242&wfr=spider&for=pc

备注:(摘抄,如果有错误的话)

如果出现:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

意思就是说你密码现在的规则不行,规则什么不行呢?比如密码长度啊,是否纯数字啊 大小写混用啊 等等。别急有办法解决。这时候你只需要:

set global validate_password_policy=0; set global validate_password_mixed_case_count=2;

这下哈哈了吧 policy 0就是纯数字OK的

case_count =2,就是最低8位密码,如果是1或者小于1默认最低4位密码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.A simple master-to-slave replication is currently being...
    Kevin关大大阅读 11,266评论 0 3
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 9,474评论 0 19
  • mysqladmin -u root -p oldpass password newpass mysqladmin...
    不排版阅读 6,671评论 0 3
  • 1,MySQL权限体系 mysql 的权限体系大致分为5个层级: 全局层级: 全局权限适用于一个给定服务器中的所有...
    不排版阅读 4,503评论 0 4
  • 此为书的目录,之后每写完一章笔记就附录链接在这里,方便复盘。 序:我学英语的经验 前言 第一篇初级句型――简单旬(...
    左左Mu阅读 4,941评论 0 0

友情链接更多精彩内容