首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

数据库磁盘分区真的丢失了?

1周前的周四,中途被业务方拉过去解决一次DB故障。由于不太了解当时的业务场景,只是听DBA说数据库服务器数据分区的磁盘丢失(笔者从来没有经历过磁盘突然丢失的场景),拿着同事的账号登录到发生故障的数据库服务器上,根据进程找到对应的磁盘目录,执行touch /data/mysql/abc, 可以正常执行,说明挂载的/data分区所在的文件系统是可以写的,MySQL命令行进入test库中,执行create table id_a(id int); 卡主, 在另外的一个mysql会话终端中,show processlist是可以正常执行的, show table|show databases都是可以正常执行。现象上看只要是DDL的语句执行均被阻塞,正当准备跟踪MySQL 的所有线程的时候,数据库进程已经被DBA 命令kill掉了。DBA重新挂载了一次/data分区后,启动数据库后,问题得到解决(这种做法大概率存在数据丢失,看后续分析)。

02

MySQL多实例配置(一)

MySQL数据库的集中化运维,可以通过在一台MySQL数据库服务器上,部署多个MySQL实例。该功能是通过mysqld_multi来实现。mysqld_multi用于管理多个mysqld的服务进程,这些mysqld服务进程程序可以用不同的socket或是监听于不同的端口,同时将数据文件分布到不同的磁盘以分散IO。mysqld_multi提供简单的命令用于启动,关闭和报告所管理的服务器的状态。从而减少生产环境的维护成本,方便后续的迁移和清理等工作,借助多实例绑定的方式提高服务器的整体资源利用率。对于多实例的配置有2种方式,一种是在my.cnf为所有实例提供配置,一种是使用每一个实例一个配置文件。本文主要描述第一种方式。    第二种多实例配置方式请参考:MySQL多实例配置(二)    有关MySQL单实例的安装请参考:Linux 下MySQL源码安装完整版

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券