Centos7使用mysql5.7.20-之管理员密码忘记了-root密码重置

15 篇文章 1 订阅

目录

一、解决方法分析:

二、解决办法:(跳过验证)

方法一:

1、编辑 /etc/my.cnf 文件。

2、重启mysql:

3、免认证连接数据库:

4、重置root密码:

5、刷新权限再重置

6、编辑 /etc/my.cnf,将skip-grant-tables删除

7、测试是否可正常登录和操作:

方法二:

1、关闭正在运行的 MySQL

2、跳过验证

3、禁止远程连接

4、本地连接mysql

5、刷新权限再重置

6、修改完毕,重启。

7、测试是否能正常操作:


mysql数据管理员密码忘记或者遗失的原因,一般有:

1、DBA记性不好,忘记了。弹脑瓜蹦(DBA,人事,老板)。

2、数据库密码被其他人(被黑了)修改了。弹脑瓜蹦(DBA,网管)

3、DBA离职交接工作没做到位,或者制度不完善,意识欠缺。弹脑瓜蹦(DBA,人事,老板)

4、不可预知的原因导致遗失。

脑瓜蹦弹归弹,但问题还是要解决的。

一、解决方法分析:

mysql的服务端可以分为三层,分别是连接层,SQL层,存储层

连接层定义了通信server端与client协议:

连接层

1.提供链接协议(socket,tcp/ip) #这里的socket也不是网络连接的socket,mysql的socket连接只能连接本地

2.验证用户的合法性(用户名,密码,白名单)

3.提供一个专用连接线程(接收sql,返回结果,将sql语句交给sql层继续处理)

sql层

1.接收到sql语句,语法判断

2.判断语义(判断语句类型:DML,DDL,DCL,DQL)

3.解析SQL语句,生成多种执行计划

4.优化器,选择它认为成本最低的执行计划(通俗讲就是选择速度快,消耗低的sql语句类型)

5.执行器根据优化器的选择,按照优化器建议执行sql语句,得到去哪儿找sql语句需要访问的数据

5.1.具体:在哪个数据文件上的哪个数据页中

5.2.将以上结果充送给下层继续处理

6.接收存储引擎层的数据,结构化成表的形式,通过连接层提供的专用线程

7.提供查询缓存

7.1.query_cache使用memcached或Redis代替

8.日志记录(binlog)

存储引擎层

1.接收上层的执行结果

2.取出磁盘文件和相应数据

3.返回给sql层,结构化之后生成表格,由专用线程返回给客户端。

二、解决办法:(跳过验证)

方法一:

1、编辑 /etc/my.cnf 文件。

在 [mysqld]区域内增加下面一行

skip-grant-tables

2、重启mysql:

方式一:进入mysql安装目录下的support-files目录,然后执行:

./mysql.server restart

方式二:

systemctl restart mysqld

3、免认证连接数据库:

mysql -uroot -p

要求输入密码的地方,直接回车;

4、重置root密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

有错误提示信息:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

5、刷新权限再重置

6、编辑 /etc/my.cnf,将skip-grant-tables删除

退出mysql命令行,

编辑 /etc/my.cnf。将上面添加的语句删除掉或者注释掉。

并保存退出

7、测试是否可正常登录和操作:

方法二:

1、关闭正在运行的 MySQL

2、跳过验证

mysqld_safe --skip-grant-tables &

3、禁止远程连接

mysqld_safe --skip-networking &

2,3步也可以同时操作为:

mysqld_safe --skip-grant-tables --skip-networking &

4、本地连接mysql

mysql -uroot -p

输入密码处直接按回车

5、刷新权限再重置

flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '666666';

6、修改完毕,重启。

方法参考方式一

7、测试是否能正常操作:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值