Mysql - is marked as crashed and should be repaired

news2024/10/2 14:35:44

概述

上周发生了一个Mysql报错的问题,今天有时间整理一下产生的原因和来龙去脉,Mysql的版本是5.5,发生错误的表存储引擎都是MyISAM,产生的报错信息是Table 'xxxxxx' is marked as crashed and should be repaired

定位问题

产生的后果是Nginx服务没有响应,找到Mysql的进程,想做的是查找到mysql的错误日志路径,查看错误信息,错误信息里的关键词是定位问题、解决错误的有效手段。

在多说一句Linux服务器中的进程管理,使用 ps aux里面主要留意的信息是PID、进程所属用户和后面启动进程所执行的Bash命令。

ps aux | grep mysql

mysql    17743  4.7 33.1 3722028 2604540 ?     Sl   3月01 338:55 
/usr/local/mysql/libexec/mysqld 
--defaults-file=/usr/local/mysql/etc/my.cnf 
--basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data 
--plugin-dir=/usr/local/mysql/lib/mysql/plugin 
--user=mysql 
--log-error=/usr/local/mysql/var/mysql_error.log 
--open-files-limit=10240 
--pid-file=/usr/local/mysql/var/mysql.pid 
--socket=/tmp/mysql.sock 
--port=3306
  • 配置文件路径: --defaults-file /usr/local/mysql/etc/my.cnf
  • Mysql文件路径: --basedir /usr/local/mysql
  • Mysql数据报错路径: --datadir /usr/local/mysql/data
  • Mysql错误日志 --log-error /usr/local/mysql/var/mysql_error.log

使用 tail -f -n 20 /usr/local/mysql/var/mysql_error.log 观测错误信息,如果想让log的行数展示的多些,可以指定最后行数,例如想展示20行,tail -f -n 20 /usr/local/mysql/var/mysql_error.log,报错消息如下图:

请在此添加图片描述

成因

网上查了一下,错误的产生原因,有网友说是频繁查询和更新表造成的索引错误,还有说法是Mysql数据库因某种原因而受到了损坏,如:数据库服务器突发性断电,在数据表提供服务时对表的源文件进行某种操作都有可能导致,Mysql数据表被损坏而无法读取数据,总之就是因为某些不可测的问题造成表的损坏。

我个人估计是没有正确编写和使用代码导致的,出现问题的表都是MyISAM存储引擎。

解决办法

命令行方式

1、登录,切换到error的数据库上:

mysql -u root -p

use cc;

2、检查出现问题的表的状态

check table cc_user_area;

3、修复表(table_name 需要修复的表名)

repair table table_name

4.检查一下状态,如下图

check table cc_user_address;

请在此添加图片描述

Navcat

还有一种更为便捷的方法,使用Navicat来处理,首先连接上数据库,选择表,右键->Maintain(维护)->Repair Tables(修复表)->Extended(扩展)

请在此添加图片描述

修复就完成了,服务也正常使用了,有时候需要规范的编码,才不会出现奇奇怪怪的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Util工具类功能设计与类设计(http模块一)

目录 类功能 类定义 类实现 编译测试 Split分割字符串测试 ReadFile读取测试 WriteFile写入测试 UrlEncode编码测试 UrlDecode编码测试 StatuDesc状态码信息获取测试 ExtMime后缀名获取文件mime测试 IsDirectory&IsRegular测试 VaildPath请求路径有效性判断测…

基于Springboot的招生宣传管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的招生宣传管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

基于springboot的医院信息管理系统(程序+代码+文档)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

智慧公厕方案_智慧公厕解决方案_智慧公厕整体解决方案

一、什么是智慧公厕? 在现代城市化进程中,公共厕所是不可或缺的基础设施之一。然而,传统的公厕管理模式已经无法满足市民对高效、便捷厕所服务的需求。为了实现公共厕所的信息化管理,智慧公厕整体解决方案应运而生。智慧公厕具体…

【MySQL】表的增删改查——MySQL基本查询、数据库表的创建、表的读取、表的更新、表的删除

文章目录 MySQL表的增删查改1. Create(创建)1.1 单行插入1.2 多行插入1.3 替换 2. Retrieve(读取)2.1 select查看2.2 where条件2.3 结果排序2.4 筛选分页结果 3. Update(更新)3.1 更新单个数据3.2 更新多个…

边缘计算相关实验01

1 ChatGLM2-6B模型本地部署 部署的轻量级的模型,硬件配置不够,无法跑起来 2 车辆识别 2.1 车牌识别 开源代码 ​​https://gitcode.net/mirrors/we0091234/chinese_license_plate_detection_recognition?utm_sourcecsdn_github_accelerator​​ 识…

STM32基础--使用寄存器点亮流水灯

GPIO 简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO被分成很多组,每组有 16 个引脚&#xf…

Pulsar 社区周报 | No.2024.03.08 Pulsar-Spark Connector 助力实时计算

关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制&#xff0c…

Linux常用操作命令-防火墙常用操作

一、防火墙常用操作 1、查看防火墙的状态; systemctl status firewalld 2、启动防火墙 systemctl start firewalld.service 3、开启某个端口,如8081端口,输入命令 firewall-cmd --zonepublic --add-port8088/tcp --permanent 4、删除某个…

C语言实战——扫雷游戏

目录 1. 扫雷游戏分析和设计2.扫雷游戏的代码实现 1. 扫雷游戏分析和设计 1.1扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格子默认随机布置10个雷可以排查雷 如果位置不是雷,就显示周围有几个雷 如果…

动态规划课堂4-----子数组系列

目录 引入: 例题1:最大子数组和 例题2:环形子数组的最大和 例题3:乘积最大子数组 例题4:乘积为正数的最长子数组 总结: 结语: 引入: 在动态规划(DP)子…

【新书推荐】19.1 DOS程序段前缀PSP

本节内容:介绍DOS程序段前缀及其应用。 ■程序段前缀PSP:DOS系统加载程序时,在程序段前设置一个具有256字节的信息区称为程序段前缀PSP。 ■终止程序的另一途径:利用程序段前缀PSP偏移地址0处的“INT 20H”终止程序。示例代码t19-…

第三百九十二回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择多个图片和视频文件"相关的内容,本章回中将介绍如何通过相机获取图片文件.闲话休提,让我们一起Talk Flutter吧。 1. …

NoSQL--3.MongoDB配置(Linux版)

目录 2.2 Linux环境下操作 2.2.1 传输MongoDB压缩包到虚拟机: 2.2.2 启动MongoDB服务: 2.2 Linux环境下操作 2.2.1 传输MongoDB压缩包到虚拟机: (笔者使用XShell传输) 如果不想放在如图的路径,删除操作…

【Python使用】python高级进阶知识md总结第2篇:HTTP 请求报文,HTTP响应报文【附代码文档】

python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对…

(001)UV 的使用以及导出

文章目录 UV窗口导出模型的主要事项导出时材质的兼容问题unity贴图导出导出FBX附录 UV窗口 1.uv主要的工作区域: 2.在做 uv 和贴图之前,最好先应用下物体的缩放、旋转。 导出模型的主要事项 1.将原点设置到物体模型的底部: 2.应用修改器的…

【SpringCloud】微服务重点解析

微服务重点解析 1. Spring Cloud 组件有哪些? 2. 服务注册和发现是什么意思?Spring Cloud 如何实现服务注册和发现的? 如果写过微服务项目,可以说做过的哪个微服务项目,使用了哪个注册中心,常见的有 eurek…

跨平台大小端判断与主机节序转网络字节序使用

1.macOS : 默认使用小端 ,高位使用高地址,转换为网络字节序成大端 #include <iostream> #include <arpa/inet.h> int main() {//大小端判断union{short s;char c[sizeof(short)];}un;un.s = 0x0102;printf("低地址:%d,高地址:%d\n",un.c[0],un.c[1]);if …

腾讯云8核16G服务器支持多少人同时访问?性能和价格测评

腾讯云8核16G轻量服务器CPU性能如何&#xff1f;18M带宽支持多少人在线&#xff1f;轻量应用服务器具有100%CPU性能&#xff0c;18M带宽下载速度2304KB/秒&#xff0c;折合2.25M/s&#xff0c;系统盘为270GB SSD盘&#xff0c;月流量3500GB&#xff0c;折合每天116.6GB流量&…

STM32---ADC

ADC 概念 众所周知&#xff0c;GPIO只能读入高电平或者低电平&#xff0c;那如果现有一个模拟量&#xff0c;该如何读取呢&#xff0c;比如电压的范围是0~3.3v&#xff0c;如何获取电压的值。就需要ADC&#xff08;Analog-Digital Converter&#xff09;了。ADC可以将引脚上连…