InnoDB:错误:空间标头页由数据文件 ./ibdata1 中的零字节组成

2023-11-23

我的 WordPress 设置非常好,但今天服务器突然停止加载我的网站。我登录并重新启动我的 centos 7 VPS。重启后没有启动MariaDB。 这是我在日志中发现的内容:

141026 18:13:50 [Note] /usr/libexec/mysqld: Shutdown complete

141026 18:13:50 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
141026 18:14:58 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141026 18:14:58 InnoDB: The InnoDB memory heap is disabled
141026 18:14:58 InnoDB: Mutexes and rw_locks use GCC atomic builtins
141026 18:14:58 InnoDB: Compressed tables use zlib 1.2.7
141026 18:14:58 InnoDB: Using Linux native AIO
141026 18:14:58 InnoDB: Initializing buffer pool, size = 128.0M
141026 18:14:58 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file ./ibdata1
141026 18:14:58 InnoDB: Could not open or create data files.
141026 18:14:58 InnoDB: If you tried to add new data files, and it failed here,
141026 18:14:58 InnoDB: you should now edit innodb_data_file_path in my.cnf back
141026 18:14:58 InnoDB: to what it was, and remove the new ibdata files InnoDB created
141026 18:14:58 InnoDB: in this failed attempt. InnoDB only wrote those files full of
141026 18:14:58 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
141026 18:14:58 InnoDB: remove old data files which contain your precious data!
141026 18:14:58 [ERROR] Plugin 'InnoDB' init function returned error.
141026 18:14:58 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141026 18:14:58 [Note] Plugin 'FEEDBACK' is disabled.
141026 18:14:58 [ERROR] Unknown/unsupported storage engine: InnoDB
141026 18:14:58 [ERROR] Aborting

有人可以帮我调查可能是什么问题吗? 现在是否可以在无法启动 MariaDB 的情况下备份我的数据库?


Edit: 复制了my-innodb-heavy-4G.cnf to /etc/my.cnf.d服务器启动正常。可能是由于改变binlog大小引起的。


听起来您更改了 InnoDB 缓冲区的大小,或者它已损坏。这些更改可能是在一段时间前进行的,并且在您重新启动后才生效。

一定要备份您的数据/var/lib/mysql首先 - 最好是整个目录。

cp -R /var/lib/mysql /var/lib/mysql-backup

备份数据后,最好的第一步是恢复对数据所做的任何更改/etc/my.cnf文件并重新启动。

如果这不起作用,或者您不知道缓冲区的大小曾经是多少,下一个可能的选择是删除 InnoDB binlog 文件并让 MariaDB/MySQL 重新创建它们。这些文件被命名为/var/lib/mysql/ib_logfile{N} where {N}是一个数字。

rm -rf /var/lib/mysql/ib_logfile*

如果这不能解决问题,请尝试将以下内容添加到您的/etc/my.cnf(或者无论您使用哪个配置文件,当然首先备份)。它应该进入[innodb]部分。

innodb_buffer_pool_size        = 256M
innodb_log_file_size           = 256M
innodb_thread_concurrency      = 16
innodb_flush_log_at_trx_commit = 2
innodb_flush_method            = normal

诀窍在于了解 MariaDB 的期望。如果以上尝试没有成功只是最后一行并设置[innodb_flush_method].

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InnoDB:错误:空间标头页由数据文件 ./ibdata1 中的零字节组成 的相关文章

  • Woocommerce 购物车通知显示多次

    我有一个功能正常工作 除了它在购物车中显示通知两次而不是一次 该功能应用折扣并显示通知 该函数查找特定类别的商品并添加总数 如果满足折扣金额 则应用折扣并显示通知 现在 即使购物车中只有一件商品 它也会显示两次通知 我尝试过添加wc cle
  • 无法使用 git 克隆任何存储库

    我尝试克隆一些存储库 但总是遇到相同的错误 我在哪里可以找到有关此错误的更多信息 错误日志文件或类似的文件 或者也许有人知道可能出了什么问题 git clone http github com creationix nvm git nvm
  • 使用 r 写入和更新 DB2 表

    我不知道如何更新 R 中现有的 DB2 数据库或更新其中的单个值 除了非常一般的信息之外 我在网上找不到关于这个主题的太多信息 但没有具体的例子 library RJDBC teachersalaries data frame name c
  • 使用 PostgreSQL 查找并删除重复行

    我们有一个包含以下列的照片表 id merchant id url 该表包含组合的重复值merchant id url 因此 一行可能会出现多次 234 some merchant http www some image url com a
  • 翻译数据库内文本的最佳方法是什么

    我们这里有问题 我们需要将网站翻译成多种语言 我们已经使用 gettext 来翻译静态内容 但我们必须将一些文本内容翻译成多种语言 ui不是问题 我们找到了两种翻译文本的方法 1 在我们的文本输入中使用 JSON 为什么这个解决方案不好 每
  • mysql 部分索引、反向索引

    我有一张包含单词列表的表格 字 VARCHAR 16 我需要创建一个反向索引 IE 单词 apple 将索引为 elppa 单词 banana 将索引为 ananab 依此类推 另外 是否可以索引单词的一部分 例如 跳过第一个 最后一个或
  • 弱实体是否可以参与与其他表的识别和非识别关系?

    显然 一个弱实体 作为子实体 必须参与一种或多种识别关系 否则它就不会是弱的 但同时 它也可以是非认同关系中的孩子吗 是的 弱实体集可以参与与其他实体的非识别关系entities 我认为 子 是指弱实体集位于关系的决定 多 方的关系 对于弱
  • 在 systemd 服务文件内/内联添加 shell 命令

    我正在运行gunicorn通过 systemd 将服务器作为服务 这是示例service file Unit Description Gunicorn NGINX After network target Service User root
  • 通过标签收集自定义帖子类型

    我使用以下代码设置了名为 扇区 的自定义帖子类型 register post type sectors array labels gt array name gt Sectors singular name gt sectors has a
  • 将我的数据库类与项目中的其他类一起使用

    我有一个自己编写的自定义数据库类 还有一个用户类和一个站点类 MySQL 类有这样的方法 connect query clean fetch 用户等级 register login logout resetPass 站点类别 updateT
  • 通过站点到站点 VPN 将 Azure 网站连接到本地数据库

    我的目标是运行一个天蓝色的网站 该网站可以访问我们本地公司数据库中的数据 我按照网络上的教程设置了一个 Azure 虚拟网络 并通过站点到站点 VPN 将其连接到我们本地公司网络 在天蓝色门户中 我可以看到连接实际上正在工作 并且数据已被接
  • MongoDB - WiredTiger 快照与锁定

    我不完全理解这两个功能在 WiredTiger MongoDB 程序中如何相互关联 1 WiredTiger 快照 2 数据锁定 如果使用WiredTiger引擎的每个读操作在读时都提供了数据库级别的 快照 以便创建一致性 ACID中的C
  • 分层数据库模型

    我正在设计一个关于宠物的分类网站 该网站将包含 3 个 主要 类别的广告 A Sale B Breeding C Jobs 我面临的问题是 所有 3 个广告类别都有一些共同点 但也有一些差异 例如 类别 A B 和 C 都有以下共同点 ca
  • 如何缩小 SQL Server 数据库?

    我有一个数据库大小接近1 9Gb 而MSDE2000不允许数据库超过2 0Gb 我需要缩小这个数据库 以及在不同客户端位置的许多其他类似数据库 我发现并删除了数百条或数千条被认为不需要的记录 这些记录占数据库中一些主要 最大 表的很大一部分
  • 如何将wordpress从mamp推送到hostgator

    我在 mamp 中写了一个博客 想推入 hostgator 我必须像 Hostgator 一样重新创建所有内容吗在 Hostgator 上安装 WordPress http www probloggingsuccess com instal
  • 从 PHP 和 Timber/Twig 中的高级自定义字段中对转发器字段进行排序

    我正在尝试使用 Twig 1 34 的 WordPress Timber 插件实现对 WordPress 插件高级自定义字段 ACF 的转发器字段的输出进行排序 下面从 ACF 排序的基本 PHP 示例来自https www advance
  • Oracle 10 中的本地临时表(适用于存储过程的范围)

    我是甲骨文新手 我需要在存储过程中处理大量数据 我正在考虑使用临时表 我正在使用连接池 并且该应用程序是多线程的 有没有一种方法可以为每次调用存储过程创建不同的表实例来创建临时表 以便来自多个存储过程调用的数据不会混淆 你说你是 Oracl
  • 安装 mariadb 包时找不到 mariadb_config [重复]

    这个问题在这里已经有答案了 我尝试在 ubuntu 20 04 上安装 mariadb 软件包 并收到以下消息 Collecting mariadb Using cached mariadb 1 1 3 tar gz 80 kB Prepa
  • 无法在 Sql Server 中运行分析功能

    在 Oracle 中它运行良好 oracle的查询如下 SELECT TEAM ID LEVEL ID FF ID MODULE ID TERR ID MERGE KEY count distinct TERR ID over partit
  • Wordpress 插件 - 调用未定义的函数 finfo_open() [重复]

    这个问题在这里已经有答案了 我正在尝试使用CSV Me http wordpress org plugins csv me 插件 以便让我们的客户将 csv 文件上传到数据库 当我尝试上传文件作为测试时 我收到以下错误消息 Fatal er

随机推荐

  • SqlParameter名称前是否需要加@?

    在我们的一个应用程序中 参数以这种方式传递给存储过程 Dim parm As New SqlParameter searchText SqlDbType VarChar parm Direction ParameterDirection I
  • setSize 不影响按钮的大小

    我有一个示例代码 import java awt import javax swing import javax swing border BevelBorder public class AWT extends JFrame public
  • 按固定宽度将字符串拆分为子字符串

    我有数据看起来像这样 1 TESTAAA SERNUM A DESCRIPTION 2 TESTBBB ANOTHR ANOTHER DESCRIPTION 3 TESTXXX BLAHBL 我的问题是 将这些数据分割成更小的子字符串的最有
  • 解析 JavaScript 中的相对 URL

    我正在构建一个 JS 库 它需要查看 form action 和 a href 值并将它们解析为绝对 URL 例如 我在 http a b c d p q 上遇到 href 值 g 假设没有 元素 生成的绝对值将是 http a b g 有
  • Postman 向 Binance API 发出 GET 请求

    我正在尝试发送GET向 Binance 的 API 请求 但我不知道该怎么做 这是文档页面 https github com binance exchange binance official api docs blob master re
  • 如何在IOS SDK 8.0中获取当前位置经纬度

    如何获取当前位置的纬度和经度 我已经尝试过这个 使用 Xcode 6 01 和 IOS SDK 8 0 CLLocationCoordinate2D getLocation locationManager CLLocationManager
  • getResultSet()“每个结果应该只调用一次”

    根据文档 for getResultSet in java sql Statement 它说 以 ResultSet 对象的形式检索当前结果 这个方法应该 每个结果仅被调用一次 使用一些测试代码 我跑了executeQuery 并多次致电g
  • 我的业务逻辑应该如何与数据层交互?

    所以我正在起草我的计划草案 这是我的计划 GUI Business Logic Data 您应该能够更换GUI or the Data层没有问题 每一层都在观察自己 所以GUI将从中调用方法Business logic这些方法将始终返回状态
  • 如何让单个组件同时支持VCL和FMX?

    我有一个TComponent它控制一些 UI 该组件旨在通过使用条件来支持 VCL 和 Firemonkey 此类条件指示我的组件是接受 VCL 控件还是 FMX 控件 目前预计该条件是在应用程序级别定义的 以指示运行时的组件是否要管理 V
  • 为什么在解析二进制数据时memcpy比reinterpret_cast慢?

    TLDR 我忘记启用编译器优化 启用优化后 性能 几乎 相同 原帖 当从二进制数据读取整数时 我注意到 memcpy 比转换解决方案慢 版本 1 reinterpret cast 由于潜在的对齐问题而有臭味 但也更快 int get int
  • 屏幕旋转上的片段

    我已将 viewpager 添加到包含两个页面的活动中 在活动的 onCreate 中 我将片段添加到fragmentAdapter public void onCreate Bundle savedInstanceState Fragme
  • 使用 ThreadPoolExecutor 的活动任务数

    我正在使用 ThreadPoolExecutor 在 Java 应用程序中执行任务 我有一个要求 我想获取执行程序队列中任何时间点队列中活动任务的数量 我抬头看了看javadoc对于ThreadPoolExecutor 找到了两个相关的方法
  • SQLite Blob 插入 C++

    在访问了数十个包含 SQLite 信息的网站后 我仍然找不到解决方案来修复绑定 blob 时的错误 这是表减角 CREATE TABLE ONE ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL N
  • Angular2:没有延迟加载的路由器“loadChildren”相当于什么

    我正在尝试 插入 一个子 ngModule 功能模块 其中包含路由配置 从RouterModule forChild 到父 ngModule 中 当使用延迟加载时 指定 插入 子模块的位置是使用loadChildrenkey 在父模块路由配
  • Bootstrap 弹出窗口内的 html 表单不起作用

    我正在尝试在引导弹出窗口中使用表单 一些基本的 html 可以工作 文本样式 按钮 但表单却不能 onclick javascript 操作也不会 我尝试了多种选择 但在网上找不到任何解决方案
  • 通过字符串导入从模块导入*

    我知道我可以使用importlib通过字符串导入模块 我怎样才能重新创建import 使用这个库的功能 基本上 我想要这样的东西 importlib import module path to module 我不为导入的属性设置命名空间的原
  • 处理 LINQtoSQL 中的 SQLite 自动增量列映射

    我有以下实体 Table Name Users public sealed class UserDB private Int64 id 1 private string username string Empty public UserDB
  • 如何让 ANTLR 3.2 在第一次出现错误时退出?

    在第 10 4 节中 权威 ANTLR 参考告诉您 如果您想在第一次解析错误时退出 请覆盖 Mismatch 和 receiveFromMismatchedSet 但是 至少在ANTLR 3 2中 似乎没有mismatch 方法 并且rec
  • 如何使用 https 在本地运行 flutter web 应用程序?

    I built flutter网络应用程序 并能够使用以下命令启动应用程序 flutter run d chrome 但是上面的命令在 Chrome 中启动了我的网络应用程序http localhost 59111 我需要在 https 中
  • InnoDB:错误:空间标头页由数据文件 ./ibdata1 中的零字节组成

    我的 WordPress 设置非常好 但今天服务器突然停止加载我的网站 我登录并重新启动我的 centos 7 VPS 重启后没有启动MariaDB 这是我在日志中发现的内容 141026 18 13 50 Note usr libexec