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
    评论
在CentOS 7上重置MySQLroot密码有几种方法。一种方法是通过使用mysqladmin来重置密码。首先,确保你有系统的root权限。然后,打开终端并输入以下命令来停止MySQL服务: ``` sudo systemctl stop mysqld ``` 接下来,输入以下命令来以跳过权限验证的方式启动MySQL服务: ``` sudo mysqld_safe --skip-grant-tables & ``` 然后,输入以下命令来连接到MySQL服务器: ``` mysql -u root ``` 在MySQL提示符下,输入以下命令来更新root用户的密码: ``` UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root'; ``` 注意将`your_new_password`替换为你想要设置的新密码。然后,输入以下命令以刷新权限表: ``` FLUSH PRIVILEGES; ``` 最后,输入以下命令来退出MySQL: ``` exit; ``` 现在你可以使用密码登录MySQL了。请确保在完成密码重置后重新启动MySQL服务,使用以下命令: ``` sudo systemctl start mysqld ``` 请注意,这是一种通过使用mysqladmin的方法来重置MySQLroot密码,还有其他方法可以实现相同的目标。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux下重置mysql密码Centos7)](https://blog.csdn.net/u012756235/article/details/104829446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [centos7mysql忘记密码并修改](https://blog.csdn.net/qq_27619943/article/details/127787948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [CentOS下重置MySQLroot密码的教程](https://download.csdn.net/download/weixin_38530995/12830134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值