Centos MySQL --skip-grant-tables详解

跳过权限验证,导出数据备份

主机系统:Centos7 64位

数据库版本:MySQL5.7.40

使用--skip-grant-tables场景

1、忘记管理员密码
2、修改管理员密码
复制代码
mysql -uroot -p

显示错误内容如下:

复制代码
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)  

我的 MySQL5.7 安装流程:步骤1,如果你的也是这样设置的,那请继续操作吧

解决方式:

1、进入yum.repos.d文件夹
复制代码
cd /etc/yum.repos.d/
2、停止当前运行的MySQL服务
复制代码
sudo systemctl stop mysqld
3、编辑MySQL的服务文件/usr/lib/systemd/system/mysqld.service,在[Service]部分新增以下配置

1、编写此文件

复制代码
vim /usr/lib/systemd/system/mysqld.service

2、先把原先存在的这个配置注释掉,最下面添加这一行

复制代码
ExecStart=/usr/sbin/mysqld --skip-grant-tables
4、重新加载修改后的服务文件
复制代码
sudo systemctl daemon-reload
5、启动MySQL服务
复制代码
sudo systemctl start mysqld

等待完全启动之后,你再次在命令行中输入mysql -uroot -p直接回车再回车,就进入数据库了,然后你可以进行备份数据以及表结构了

6、修改账号密码
复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

flush privileges;

修改成功之后记得把之前的那个注释解掉,然后把这个删掉。

长时间使用skip-grant-tables后果:

1、安全性问题:不安全的,因为它会使我们的数据库容易受到攻击,请确保只在受信任的环境中进行
2、性能问题:导致MySQL服务器的性能下降
相关推荐
流烟默8 分钟前
MySQL索引调优之索引顺序必须和字段顺序一致吗?
mysql·索引调优
努力学习的小廉31 分钟前
深入了解linux网络—— 自定义协议(上)
linux·服务器·网络
十碗饭吃不饱33 分钟前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
我是Superman丶1 小时前
【优化】Mysql指定索引查询或忽略某个索引
数据库·mysql
bcgbsh1 小时前
Linux开机启动脚本(cron 的 @reboot 特性)
linux·cron
程序定小飞1 小时前
基于springboot的在线商城系统设计与开发
java·数据库·vue.js·spring boot·后端
呆呆小金人1 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
听风吹雨yu1 小时前
RK3588从数据集到训练到部署YoloV8
linux·yolo·开源·rk3588·rknn
LL_break1 小时前
Mysql数据库
java·数据库·mysql
野犬寒鸦2 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存