首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

故障解析 | 生产环境遇到 MySQL 数据页损坏问题如何解决?

作者:徐文梁 爱可生 DBA 成员,一个执着于技术的数据库工程师,主要负责数据库日常运维工作。擅长 MySQL,Redis 及其他常见数据库也有涉猎;喜欢垂钓,看书,看风景,结交新朋友。...当时数据库自动重启,未对生产造成影响,未做处理,但是还是记录了下错误信息,错误日志中有如下信息: InnoDB: End of page dump InnoDB: Page may be an index...虽然之前很幸运未对生产造成影响,但是如果后面哪一天异常了导致实例无法启动,那不就是妥妥的一个生产故障嘛,作为 DBA 要有忧患意识,必须要提前准备好应对之策,针对此类问题,该如何排查以及解决?...考虑生产环境信息安全,在测试环境建立测试表进行展示。...但是如果是生产环境,尤其是金融行业,是无法容忍丢失一条数据的,比较有可能这一条数据就涉及几个小目标呢,因此,重要的事情说三遍,一定要备份!一定要备份!一定要备份!

1.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2022 最新 线上 生产环境 故障排查 技巧 大全

    2022 最新 线上 生产环境 故障排查 技巧 大全 线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。...一方长期未收到另一方的确认报文,在一定时间或重传次数后发出 RST 报文 这种大多也和网络环境相关了,网络环境差可能会导致更多的 RST 报文。...我们在排查故障时候怎么确定有 RST 包的存在呢?当然是使用 tcpdump 命令进行抓包,并使用 wireshark 进行简单分析了。...tcp_tw_reuse = 1 #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭 net.ipv4.tcp_tw_recycle = 1 当然我们不要忘记在 NAT 环境下因为时间戳错乱导致数据包被拒绝的坑了

    17810

    生产环境mysql用户以及权限规划

    原则:为生产库建立不同的用户管理用户业务用户 管理用户:超级管理用户、dba运维用户、备份用户、监控用户、复制用户 (克隆用户) 业务用户:每个业务模块一个用户,命名可以是user_业务模块名 只读查询用户...:允许开发人员定位问题查询生产库的只读权限 权限分配原则:根据最小原则给每个用户满足需求的最小权限,要是不够再增加 mysql用户和权限牵涉到的表 user : 包含用户账户,全局权限 db: 数据库级别的权限表...replication clinet replication slave show databases shutdown super create tablespace usage grant option 数据库级别权限...:授权方式可以*.* db.* create create routine create temporary tables drop loack tables references 数据库对象级别的权限...账号访问控制认证 第一个阶段:账号和密码认证 第二个阶段:权限检查 用户认证过程中mysql会把用户权限表加载到内存中 账号的匹配 先按照主机名字段排序,然后按用户名排序,用户账号根据排序后信息进行匹配

    1.7K51

    混沌故障演练如何尽可能保障生产环境不被破坏

    由于演练对象和演练配置的差异,在生产环境进行试验可能会对生产环境造成不确定的影响,但混沌工程师的责任和义务是确保这些后续影响最小化且被考虑的范围。...因此,可以考虑以下方面尽可能保障生产环境的演练不被破坏: 一、管理方面 1.1、演练人员要做到熟练使用,了解清楚具体某个实验的配置/参数的作用,做到有的放矢; 1.2、生产环境故障注入前,先在测试或者沙盒环境验证和测试...② 设定实验范围: 生产环境中,通过切小部分流量的方式,创建实验组、控制组环境 ③ 故障注入: API 调用 Gallery 的 rpc 请求注入中断故障 ④ 稳态验证: 通过 GetGallery...三、以中移磐基CMChaos混沌平台生产环境落地过程予以分析讲解 首先,可以把故障分成五种类型:机房问题、中间件问题、机器问题、应用问题、依赖问题。...以上是中移磐基混沌工程生产环境实践落地路线,也非常推荐大家按照这种路线来做,从性价比由高往低的方式去推进。

    63840

    MySQL 数据库高负载故障分析

    下面的表的程序可以考虑关闭下面的参数 innodb_stats_on_metadata=0 set global innodb_stats_on_metadata=0; 故障分析 注:一般mysql...分析思路: 1、查看mysql的slow.log,看是否出现死锁,及其他报错 2、show processlist; 查看mysql都有哪些连接,判断这些connect是否正常 3、通过使用htop、dstat...tcpdump使用 抓包分析,默认mysql端口为3306 tcpdump -i eth0 -A -s 3000 port 3306 > /tmp/sql.log 引用perl tcpdump -...慢日志,查看哪些sql语句最耗时 pt-query-digest db-slow.log 总结: 有时候不需要全部操作就能找到问题的所在,这次故障中个人是通过show processlist找到不正常的连接...故障分析:后端API服务抛异常,导致一个SELECT频繁去执行,先重启后端API,然后分析报错,找相关人解决。

    2.2K100

    推荐的生产环境数据库发布流程

    MySQL数据库安全权限控制管理 制度与流程控制 项目开发制度流程 开发环境 ---→功能测试 ---→ RDS实例上线,通过较为完善的项目开发流程控制,防止很多潜在的问题隐患发生。...数据库发布流程(分为DDL/ DML,DBA 只负责生产环境DDL发布,DML由开发人员自行发布) 涉及到生产数据库重大变更(比如大表加字段,索引,批量数据刷新),需邮件到技术总监以及DBA,判断业务是否允许...,完成上述数据库更改。...涉及到生产数据库小规模变更,直接发给DBA,抄送开发负责人等。...ddl 在提交至预发布环境后钉钉通知DBA,由DBA对 ddl 进行审核(create, alter 等),如有问题驳回修改后发布至预发布环境 。

    92720

    生产环境数据库并发数的调整

    在开发和测试时,我们往往不会很在意数据库相关的一些并发数的配置,因为开发和测试时,系统的并发量并不会很大, 因此,是否正确设置这些参数也不会对结果造成什么影响 但是,上生产环境后,系统的并发量大大提高,...这时,没有注意数据库的并发数配置的话就会使数据库成为系统最终的 并发瓶颈。...根据我在实际项目中一段时间的并发测试后,发现关于数据库并发数需要配置的几个地方,希望跟大家分享一下,能少走一些弯路 数据库并发配置 查看mysql数据库的服务器的最大连接数 show variables...修改mysql配置文件my.cnf max_connections = 3000 尽量保持 Max_used_connections/max_connections = 85%左右 修改程序中数据源的配置...(这个很重要,我之前就是忘记修改这里而只改了数据库,导致数据库出现的历史并发数一直上不去) <property name

    38110

    mysql生产环境安装部署配置(专业版)

    mysql安装方式有多种 1.rpm包可以用yum安装 2.二进制包解压安装 3.源码编译安装 4.docker镜像方式按照 生产环境安装建议使用第二种二进制包安装 如下操作使用mysql8.0.18...在centos7上安装 作为生产环境安装首先要调整操作系统环境: 调整文件句柄和进程数 vim /etc/systemd/system.conf centos7调整如下2个值 #DefaultLimitNOFILE...tcp_max_syn_backlog = 819200 net.core.netdev_max_backlog = 400000 net.core.somaxconn = 4096 #解决time_wait过高导致数据库连接不上...推荐使用xfs文件系统 io调度 SAS :deadline SSD&PCI-E: noop 规划mysql安装: 1.下载指定版本的msyql数据库 [root@localhost local]#.../mysqld --defaults-file=/data/mysql/mysql3312/my3312.cnf --user=mysql & --initialize 初始化生产随机密码在error.log

    3.3K51

    MYSQL 生产环境字段更改的failed的问题

    早上看到微信一个银行的同学问了小问题,希望他不要背锅,具体问题是MYSQL 一个50G的表要更改字段,将一个字段从varchar(3) 改成varchar(6). MYSQL 5.7 官版。...可能原因如下 1 DDL ONLINE 不阻塞 DML 但并没有说,不会不阻塞 DDL 的操作 2 测试环境比较单纯,可能测试的时候,对表并没有其他的复杂的操作 所以还是那句话,数据库的问题,一定要想的复杂点...有些公司操作ALTER 语句的并不是人工,而是通过购买(或开源)的一个所谓的 “自动化”工具来的,谁也不知道在故障发生的一刻,做了什么,同时不能复制的,就是当时的生产环境到底有没有大事务,并且就对那张表进行了什么操作...也注定 DB的工作,是一件需要小心小心小心的工作,因为生产环境一定有你不清楚的环境,而这些可能不清楚的环境,就会让某次“信心满满”的Action Failed....注:到目前为止MYSQL 在修改字段方面,对比其他数据库还是要注意的地方多多,当然MYSQL 8 已经添加了 instant 让修改字段变得更让人放心。

    1.8K30

    糟了,生产环境MySQL主从数据库不一致怎么办?!

    自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。...问题 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多。发现很正常。...mysql.bak.sql 这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失。...备份文件传到从库机器,进行数据恢复 scp mysql.bak.sql root@192.168.128.101:/tmp/ 5.停止从库的状态 mysql> stop slave; 6.然后到从库执行...mysql命令,导入数据备份 mysql> source /tmp/mysql.bak.sql 7.设置从库同步,注意该处的同步点,就是主库show master status信息里的| File|

    1.2K31

    生产环境下的终极指南:在生产环境部署 Nacos 集群和高可用 MySQL 使用 Docker

    在生产环境部署 Nacos 集群和高可用 MySQL 使用 Docker 前言 在本教程中,我们将详细介绍如何使用 Docker 和 docker-compose 在生产环境中部署 Nacos 集群和高可用...摘要: 本教程详细指导了如何在生产环境中使用 Docker 和 docker-compose 部署 Nacos 集群和高可用 MySQL。...然而,如何在生产环境中稳定、安全地部署 Nacos 集群和其相关的数据库是一个需要深入考虑的问题。本教程旨在为你提供一个明确、全面的解决方案。...在生产环境中,考虑使用 MySQL 高可用集群或主从复制来增加数据的稳定性和可用性。 根据具体需求和资源,可以考虑调整容器的内存和 CPU 限制。...生产环境中的数据是非常宝贵的,因此确保所有通信都是安全的非常重要。 使用防火墙或安全组规则,仅允许从特定 IP 或 IP 范围访问 Nacos 和 MySQL。

    1.1K20

    生产Mysql数据库数据恢复实战过程

    1 实战环境介绍 线上环境 mysql数据库一主多从的架构,主写从读进行读写分离,专用从库做数据备份,每天0点全备一次,12点增量备份一次,初始阶段数据量很小的情况按此方案,后续数据量大,读写频繁时...,再进行相关调整,增加增量备份频次 系统环境 [root@mysql-1 ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@mysql...-1 ~]# uname -r 2.6.32-642.el6.x86_64 [root@mysql-1 ~]# mysql -v mysql Ver 14.14 Distrib 5.7.17, for...2 模拟线上数据写入 数据库同步完成,开启3307从库的binlog日志功能 查看目前的日志文件 ? 写入数据测试同步 ? ? ? 注:查看日志文件修改时间发现有数据写入 此时执行全备文件 ?...此时发现数据库数据出现问题,某个数据无法访问了,需要进行恢复 3 恢复数据 数据恢复具体操作如下 1、停止主从同步,应用与数据库的读写操作,防止数据再次写入 ?

    2.4K20
    领券