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

ubuntu下处理mysql无法启动故障一例

故障现象:mysql无法启动1:dmesg|grepmysql[101353.820000]init:mysqlpost-startprocess(9077)terminatedw

故障现象:

mysql无法启动

1: dmesg |grep mysql

[101353.820000] init: mysql post-start process (9077) terminated with status 1
[101354.650000] init: mysql main process (9113) terminated with status 1
[101354.650000] init: mysql respawning too fast, stopped

2: grep mysql /var/log/syslog

213 Apr  1 19:35:33 Asiulo kernel: [101110.450000] init: mysql post-start process (8815) terminated with status 1
214 Apr  1 19:35:33 Asiulo kernel: [101110.590000] init: mysql main process (8846) terminated with status 1
215 Apr  1 19:35:33 Asiulo kernel: [101110.590000] init: mysql respawning too fast, stopped

3: tail -100 /var/log/mysql/error.log

  1 130401 10:27:28 [Note] Plugin 'FEDERATED' is disabled.
   2 130401 10:27:28 InnoDB: The InnoDB memory heap is disabled
   3 130401 10:27:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
   4 130401 10:27:28 InnoDB: Compressed tables use zlib 1.2.7
   5 130401 10:27:28 InnoDB: Using Linux native AIO
   6 130401 10:27:28 InnoDB: Initializing buffer pool, size = 128.0M
   7 130401 10:27:28 InnoDB: Completed initialization of buffer pool
   8 130401 10:27:28 InnoDB: highest supported file format is Barracuda.
   9 InnoDB: The log sequence number in ibdata files does not match
  10 InnoDB: the log sequence number in the ib_logfiles!
  11 130401 10:27:28  InnoDB: Database was not shut down normally!
  12 InnoDB: Starting crash recovery.
  13 InnoDB: Reading tablespace information from the .ibd files...
  14 InnoDB: Restoring possible half-written data pages from the doublewrite
  15 InnoDB: buffer...
  16 130401 10:27:28  InnoDB: Assertion failure in thread 3062129168 in file fsp0fsp.c line 2102
  17 InnoDB: Failing assertion: inode
  18 InnoDB: We intentionally generate a memory trap.
  19 InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
  20 InnoDB: If you get repeated assertion failures or crashes, even
  21 InnoDB: immediately after the mysqld startup, there may be
  22 InnoDB: corruption in the InnoDB tablespace. Please refer to
  23 InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
  24 InnoDB: about forcing recovery.
  25 02:27:28 UTC - mysqld got signal 6 ;
  26 This could be because you hit a bug. It is also possible that this binary
  27 or one of the libraries it was linked against is corrupt, improperly built,
  28 or misconfigured. This error can also be caused by malfunctioning hardware.
  29 We will try our best to scrape up some info that will hopefully help
  30 diagnose the problem, but since we have already crashed,
  31 something is definitely wrong and this may fail.
  32
  33 key_buffer_size=16777216
  34 read_buffer_size=131072
  35 max_used_cOnnections=0
  36 max_threads=151
  37 thread_count=0
  38 connection_count=0
  39 It is possible that mysqld could use up to
  40 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 346079 K  bytes of memory
  41 Hope that's ok; if not, decrease some variables in the equation.
  42
  43 Thread pointer: 0x0
  44 Attempting backtrace. You can use the following information to find out
  45 where mysqld died. If you see no messages after this, something went
  46 terribly wrong...
  47 stack_bottom = 0 thread_stack 0x30000
  48 The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
  49 information that should help you find out what is causing the crash.

核实是INNODB出现故障导致。根据红色链接中的方法:

you can add the following line to the [mysqld] section of your option file before restarting the server:

[mysqld]
innodb_force_recovery = 4

将这个设置加入到/etc/mysql/my.cnf, 后start mysql服务恢复正常。

注释:

4 (SRV_FORCE_NO_IBUF_MERGE)

Prevent insert buffer merge operations. If they would cause a crash, do not do them. Do not calculate table statistics.

 

前期处理重新安装mysql的过程也记录下:

重新安装mysql

删除mysql:

apt-get autoremove --purge mysql-server

apt-get remove mysql-common

清理残留数据:

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

最后再执行下 apt-get autoremove

安装 mysql:
apt-get install mysql-server-5.5
apt-get install mysql-client-5.5  //正常情况,此步已经包含在上步中,无需再安装。
apt-get install php5-mysql

安装完毕执行

#dpkg-reconfigure重新配置
dpkg-reconfigure mysql-server-5.5

#quick mysql package check
dpkg -l *mysql*

禁止mysql做域名解析
[mysqld]
skip-name-resolve

 

完毕!


推荐阅读
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文讨论了在进行 MySQL 数据迁移过程中遇到的所有 .frm 文件报错的问题,并提供了详细的解决方案和建议。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 在数据库事务处理中,InnoDB 存储引擎提供了多种隔离级别,其中 READ COMMITTED 和 REPEATABLE READ 是两个常用的选项。本文详细对比了这两种隔离级别的特点和差异,不仅从理论角度分析了它们对“脏读”和“幻读”的处理方式,还结合实际应用场景探讨了它们在并发控制和性能表现上的不同。特别关注了行锁机制在不同隔离级别下的行为,为开发者选择合适的隔离级别提供了参考。 ... [详细]
author-avatar
真实的小莹_808
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有