1. 场景

最近在使用小皮面板进行靶场搭建的时候,发现数据库一直无法启动,而在虚拟机里是可以启动了,这就很奇怪了。意识到我的本地已经安装了mysql,可能产生了冲突,但是当我兴冲冲启动本地mysql的时候服务却无法启动了。

尝试启动了几次mysql重新删除添加服务后发现问题没有得到解决。

最后在gpt的帮助下终于恢复了数据。

2. 修复步骤

2.1 保留数据

由于mysql服务没法启动,所以只能重新安装一下mysql,但是原问题mysql的datamy.ini需要保留。

2.2 重新安装mysql

安装mysql也很简单,我使用的是zip安装包进行的安装,https://downloads.mysql.com/archives/community/,下载后解压到你需要的目录即可。

初始化mysql,启动mysql服务,登录后修改密码。

E:\mysql>mysqld --initialize --console
2024-07-29T06:07:30.628809Z 0 [System] [MY-013169] [Server] E:\mysql\bin\mysqld.exe (mysqld 8.0.36) initializing of server in progress as process 12032
2024-07-29T06:07:30.666329Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-07-29T06:07:31.123514Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-07-29T06:07:33.725250Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !p_T,uepg5dz E:\mysql>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。 E:\mysql>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36 Copyright (c) 2000, 2024, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec) mysql> exit
Bye

文件复制,修改配置

首先停止mysql服务,复制ibdata1mysql.ibd以及数据库对应的文件到Data目录下,并且修改my.ini

my.ini配置添加innodb_force_recovery = 1,恢复过数据库后记得删掉,其他配置是我以前数据库配置的。

[mysqld]
innodb_force_recovery = 1
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=E:\mysql
#设置mysql数据库的数据的存放目录
datadir=E:\mysql\Data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
#mysql_native_password
#default_authentication_plugin=mysql_native_password
#拒绝或允许客户端加载本地数据,默认OFF
local_infile=ON
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

启动mysql服务。

导出备份文件

使用mysqldump导出数据库。

E:\mysql>mysqldump -u root -p gpt > backup.sql
Enter password: ******

停止服务,修改回my.ini后再启动服务

备份文件

E:\mysql>mysql -u root -p gpt < backup.sql
Enter password: ******

这时如果登录数据库后发现gpt库的数据以及恢复了,其他数据库可以看到名字,但是表中没有数据,可以直接将事故数据库中的Data中的数据库目录复制到新的数据库Data目录中。

至此数据库恢复完毕。

记录一次mysql数据库修复过程的更多相关文章

  1. 记录--linux下mysql数据库问题

    本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...

  2. [ Mariadb ] 记录一次MySQL数据库时区的问题

    操作系统:Centos 7数据库:5.5.52-MariaDB 根本问题:由于系统时区不对,造成数据库的时区和数据的时间不正确. 处理办法: # 查看系统时区, [root@mongodb ~]# t ...

  3. 记录一次MySQL数据库CPU负载异常高的问题

    1.起因 某日下午18:40开始,接收到滕讯云短信报警,显示数据库CPU使用率已超过100%,同时慢查询日志的条数有1500条左右. 正常情况下:CPU使用率为30%-40%之间,慢查询日志条数为0. ...

  4. IntelliJ IDEA 中详细图解记录如何连接MySQL数据库

  5. MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  6. ABP入门系列(21)——切换MySQL数据库

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framewo ...

  7. MySQL数据库文件

    MySQL数据库文件 本文档从MySQL数据库和存储引擎层面介绍各种类型的文件. 参数文件(my.cnf) 错误日志(error log) 二进制日志文件(binary log) 慢查询日志(slow ...

  8. MySQL数据库中,将一个字段的值分割成多条数据显示

    本文主要记录如何在MySQL数据库中,将一个字符串分割成多条数据显示. 外键有时是以字符串的形式存储,例如 12,13,14 这种,如果以这种形式存储,则不能直接与其他表关联查询,此时就需要将该字段的 ...

  9. 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  10. 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

    从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...

随机推荐

  1. Hive explain执行计划详解

    简介:HIVE提供了EXPLAIN命令来展示一个查询的执行计划,这个执行计划对于我们了解底层原理,hive 调优,排查数据倾斜等很有帮助 一.EXPLAIN 参数介绍 语法 : EXPLAIN [EX ...

  2. 定制化训练DeepSeek模型:LoAR、COT推理与SFT技术应用

    DeepSeek-R1 模型微调系列 DeepSeek-R1 模型微调系列一. 前言介绍本文内容:1.1 项目背景1.2 LoRA和 QLoRA 简介1.3 LLaMA 架构和 Qwen 架构LLaM ...

  3. 用户信息授权报错“无效的AppID参数”问题排查解决过程

    今天记一个支付宝报错"无效的AppID参数"的问题排查解决过程,希望可以帮到大家. 报错产生 今天在测试支付宝用户信息授权 换取授权访问令牌 的时候,遇到了一个报错:"无 ...

  4. 【收藏】default.rdp配置

    原文链接:  https://www.cnblogs.com/vman/archive/2011/12/05/2276895.html 存储在 Default.rdp 文件中的设置 默认情况下,将在& ...

  5. 使用 Visual Paradigm 的业务流程模型和符号 (BPMN) 综合指南

    业务流程模型和符号 (BPMN) 是一种用于建模和记录业务流程的标准化图形符号.它被广泛采用,因为它能够提供一种清晰.通用的语言,所有利益相关者(业务分析师.技术开发人员和管理人员)都能理解.Visu ...

  6. 记录WPS接入AI大模型

    进入官网下载海鹦OfficeAI:https://www.office-ai.cn/ 安装OfficeAI 勾选打开一个测试表格看看是否已经安装成功 打开有些人的会弹出这个提示,点击进行管理,然后点击 ...

  7. 在 Intel Ultra AI PC 设备上使用 OpenVINO™ C# API本地部署YOLOv11与YOLOv12

    ​ 最新的英特尔 酷睿 Ultra 处理器(第二代)让我们能够在台式机.移动设备和边缘中实现大多数 AI 体验,将 AI 加速提升到新水平,在 AI 时代为边缘计算提供动力.英特尔 酷睿 Ultra ...

  8. Redis压测脚本及持久化机制

    Redis压测脚本及持久化机制 Redis性能压测脚本 Redis的所有数据是保存在内存当中的,得益于内存高效的读写性能,Redis的性能是非常强悍的.但是,内存的缺点是断电即丢失,所以,在实际项目中 ...

  9. docker批量删除容器或镜像

    删除容器 停止所有容器 删除所有容器,需要先停止所有运行中的容器 docker stop `docker ps -a -q` docker ps -a -q,意思是列出所有容器(包括未运行的),只显示 ...

  10. Python数据格式转换神器-提高办公效率

    一.引言 在工作日常里,数据转换总是让人头疼?别急,今天揭秘一个超级实用的Python技巧,帮你轻松搞定各种数据格式转换,提升工作效率不是梦! 场景1:你手头有一堆CSV格式的(逗号分隔符)数据,其他 ...