我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql数据库root权限丢失(密码丢失)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql数据库root权限丢失(密码丢失)

    今天同事,调整mysql安全,在删除用户的时候误删了 root@localhost,后来加进去了,但是在登录发现数据库很多库都没有了,顿时懵逼,考虑恢复数据,稍后我看到了,想起当年也出现过类似情况,主要是因为root用户没有权限,所以跳过授权表,经过查询权限,真的缺少,所以将其都由N改为Y ,在次测试,OK,以下是处理步骤。

第一步,跳过授权表登录mysql

1、pkill 停止 实例进程
2、mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables &
3、mysql -S /data/3306/mysql.sock
4、UPDATE mysql.user SET password=PASSWORD('oldboy123') WHERE user='root' and host='localhost';
5、flush privileges;
6、kill掉mysqld_safe 进程
7、/etc/init.d/msyql start  正常启动
登录即可 mysql -uroot -poldboy123

第二步、修改权限(也可以初始化root密码

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldboy_gbk         |
| performance_schema |
| qiuyuetao          |
| test               |
+--------------------+
6 rows in set (0.00 sec)
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)
更新的MYSQL.USER表的所有字段中为N的为Y就可以了。
update user set Select_priv ='Y' where user = 'root';
update user set Insert_priv ='Y' where user = 'root';
update user set Update_priv ='Y' where user = 'root';
update user set Delete_priv ='Y' where user = 'root';
update user set Create_priv ='Y' where user = 'root';
update user set Drop_priv ='Y' where user = 'root';
update user set Reload_priv ='Y' where user = 'root';
update user set Shutdown_priv ='Y' where user = 'root';
update user set Process_priv ='Y' where user = 'root';
update user set File_priv ='Y' where user = 'root';
update user set Grant_priv ='Y' where user = 'root';
update user set References_priv ='Y' where user = 'root';
update user set Index_priv ='Y' where user = 'root';
update user set Alter_priv ='Y' where user = 'root';
update user set Show_db_priv ='Y' where user = 'root';
update user set Super_priv ='Y' where user = 'root';
update user set Create_tmp_table_priv ='Y' where user = 'root';
update user set Lock_tables_priv ='Y' where user = 'root';
update user set Execute_priv ='Y' where user = 'root';
update user set Repl_slave_priv ='Y' where user = 'root';
update user set Repl_client_priv ='Y' where user = 'root';
update user set Create_view_priv ='Y' where user = 'root';
update user set Show_view_priv ='Y' where user = 'root';
update user set Create_routine_priv ='Y' where user = 'root';
update user set Alter_routine_priv ='Y' where user = 'root';
update user set Create_user_priv ='Y' where user = 'root';
update user set Event_priv ='Y' where user = 'root';
update user set Trigger_priv ='Y' where user = 'root';


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql数据库root权限丢失(密码丢失)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库root密码忘记丢失重置方法

对于DBA来说,丢失超管用户root的密码是致命的,可以通过添加--ship-grant-tables参数来跳过权限表。 1、忘记root密码,进不去数据库:这个时候需要强制停库,先查看MySQL进程号Kill掉MySQL进程,命令如下:Kill完可以再查看是
MySQL数据库root密码忘记丢失重置方法
2019-10-24

如何在5分钟内重置丢失的root密码

这篇文章将为大家详细讲解有关如何在5分钟内重置丢失的root密码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如何快速简单地在 Fedora 、 CentOS 及类似的 Linux 发行版上
2023-06-16

MySQL 数据丢失排查案例

前言最近,有一位朋友突然微信联系我,说MySQL出现了数据丢失的情况;毫无疑问,对于一个DBA而言,这无疑是最令人紧张的一件事情,没有之一;听到这个消息后,我也就立刻投入到问题排查中。 现场排查一开始听到这个消息,我心里面当然也是非常紧张,
2022-05-29

sql数据库丢失如何解决

当发生SQL数据库丢失时,可以尝试以下解决方法:1. 恢复备份:如果有数据库备份,可以通过将备份文件恢复到原来的数据库中来解决丢失的数据。这是最常用的方法,可以还原到数据丢失之前的状态。2. 数据恢复工具:使用专门的数据恢复工具来尝试从数据
2023-09-22

sql数据库丢失数据怎么恢复

如果您的SQL数据库丢失数据,可以尝试以下几种方法来恢复数据:使用备份:如果您定期备份数据库,可以尝试恢复最近的备份数据。将备份数据导入到数据库中,并确保完整性和一致性。使用事务日志:如果您的数据库启用了事务日志,可以尝试使用事务日志来恢复
sql数据库丢失数据怎么恢复
2024-04-18

云服务器mysql重启后的数据库丢失

检查MySQL服务器的连接设置:确保MySQL服务器的连接设置正确,并且已经连接上云服务器。如果连接配置有误,则可能会导致数据库连接失败。检查MySQL服务器的数据库服务是否正常:如果MySQL服务器的数据库服务出现问题,可能会导致数据库数据丢失。可以使用命令行工具检查MySQL服务器的数据库服务是否正常,并确保MySQL服务器的数据库服务已正确配置。检查MySQL服务器的配置:检查MySQL服务器的配置...
2023-10-27

阿里云服务器数据库丢失

如果您的阿里云服务器数据库被黑客攻破并导致数据丢失,可能会造成严重的后果,例如:数据无法恢复您的服务器会因为攻击者的黑客行为而被永久删除。因此,请确保您的数据在攻击者被发现并被捕捉之前是安全的。信用和声誉受损如果您声称您的数据被盗了或遭到篡改,您的信用和声誉可能会受到严重影响。业务中断如果您的服务器无法正常运行,例如宕机、服务器宕机、服务不可用或者其他严重故障等,您的业务
2023-10-26

聊聊数据库的IO丢失问题

一般来说这些处置手段都是作为最后的处置手段,如果数据库存在备份,而且备份中丢失的数据在合理的范围内,通过备份恢复数据库可能是更好的做法。

编程热搜

目录