热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqlcan#039;tinittclog_Can'tinittclog问题导致MariaDB(MySQL)启动不了

ps:windows下的mariadb版本10.1.9问题1mysql启动不了,不能初始化tc日志,导致数据库mariadb启动失败[Note]Recoveringa

ps:windows下的mariadb版本10.1.9

问题1

mysql启动不了,不能初始化tc日志,导致数据库mariadb启动失败

[Note] Recovering after a crash using tc.log

[ERROR] Can't init tc log

[ERROR] Aborting

解决

FIX:

linux:rm /var/lib/mysql/tc.log

windows:删除mysq下的data文件夹中的tc.log

Then:

重启mysql服务:sudo service mysql start

原因

tc.log is the distributed transaction (XA) log coordinator, which is created by a fresh installation of MariaDB, not in Oracle MySQL.

tc_log是事务协调器日志,用于协调影响多个具有XA功能的存储引擎的事务。如果启用了两个或更多具有XA功能的存储引擎,则事务协调器日志必须可用

在咱们的程序中使用了分布式事务,数据库引擎是InnoDB,使用的是基于内存映射和文件的事务处理协调器日志,其主要目的之一是崩溃修复( crash recovery)

但如果服务器崩溃了,并且你更改了加载的支持XA的存储引擎的数量,也就是出现以下问题:

2018-11-30 23:08:49 140046048638848 [Note] Recovering after a crash using tc.log

2018-11-30 23:08:49 140046048638848 [ERROR] Recovery failed! You must enable exactly 3 storage engines that support two-phase commit protocol

2018-11-30 23:08:49 140046048638848 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}

2018-11-30 23:08:49 140046048638848 [ERROR] Can't init tc log

2018-11-30 23:08:49 140046048638848 [ERROR] Aborting

翻译:

2018-11-30 23:08:49 140046048638848 [注意]使用tc.log崩溃后恢复

2018-11-30 23:08:49 140046048638848 [ERROR]恢复失败! 您必须确切启用3个支持两阶段提交协议的存储引擎

2018-11-30 23:08:49 140046048638848 [错误]崩溃恢复失败。 纠正问题(例如,出现内存不足错误)并重新启动,或删除tc日志并使用--tc-heuristic-recover = {commit | rollback}启动mysqld

2018-11-30 23:08:49 140046048638848 [错误]无法初始化tc日志

2018-11-30 23:08:49 140046048638848 [ERROR]正在中止

查看mariadb数据库引擎

This is not a bullet-proof check, if one wants to fool it and get inconstent data, he can unload XA-capable engine and replace it with a different XA-capable engine. Or one can simply delete the tc-log file. This check is only designed to prevents user mistakes, not malicious actions.

大致意思说这是一个检查,用于防止用户错误,是故意这么做的,在恢复期间必须存在崩溃之前的所有具有XA功能的引擎,否则您将会有事务和数据不一致的风险。

解决办法就是:卸载支持XA的引擎并将其替换为其他支持XA的引擎。或者可以简单地删除tc-log文件

可能还会遇到同样的类似的其他问题:

基于内存映射和文件的事务协调器日志(tc.log)的标头已损坏

2018-09-19 4:29:31 0 [Note] Recovering after a crash using tc.log

2018-09-19 4:29:31 0 [ERROR] Bad magic header in tc log

2018-09-19 4:29:31 0 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}

2018-09-19 4:29:31 0 [ERROR] Can't init tc log

2018-09-19 4:29:31 0 [ERROR] Aborting

翻译:

2018-09-19 4:29:31 0 [注意]使用tc.log崩溃后恢复

2018-09-19 4:29:31 0 [错误] tc日志中的错误魔术头

2018-09-19 4:29:31 0 [错误]崩溃恢复失败。 纠正问题(例如,出现内存不足错误)并重新启动,或删除tc日志并使用--tc-heuristic-recover = {commit | rollback}启动mysqld

2018-09-19 4:29:31 0 [错误]无法初始化tc日志

2018-09-19 4:29:31 0 [错误]中止

问题2

mysql二进制日志文件出错导致mysql服务无法启动

mariadb日志

不能初始化tc日志,导致数据库mariadb启动失败

mysqld: File '.\mysql-bin.000370' not found (Errcode: 2)

141120 13:23:13 [ERROR] Failed to open log (file '.\mysql-bin.000370', errno 2)

141120 13:23:13 [ERROR] Could not open log file

141120 13:23:13 [ERROR] Can't init tc log

141120 13:23:13 [ERROR] Aborting

说明

查询得知Mysql Data文件夹生成的大量mysql-bin.xxxxx文件是叫做MySQL Binary Log。主要有以下两个作用:

1、数据恢复。

2、在主从server上提高复制的可靠性。

解决

进入mysql/data文件夹下手动删除mysql-bin.xxxxx相关的文件

进入mysql命令行运行RESET MASTER删除所有日志

rm /var/lib/mysql/mysql-bin.000370

Then:

sudo service mysql start

相关参考地址



推荐阅读
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
author-avatar
zwliang19
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有