Home > MySQL
  • 【工作】生产环境中MySQL Drop 删除(百G级、T级)大表的解决方法

    摘星怪  /
     / 工作记录
    状况说明: 在生产环境中,时常会遇到需要删除一个大的mysql数据表,一般表的大小都在百G以上,因为INNODB会维护一个全局独占锁(在table cache上面),所以mysql在对大表做DROP TABLE 过程中,所有操作都会被HANG住,这个过程会持续很长时间,直到DROP TABLE完成才释放,这样就会影响到线上数据库的使用。   同时,从硬盘上删除一个百G以上的文件,也会造成系统的I/O开销飙高,影响其他程序运行,这也是我们需要避免和解决的问题。 原理分析: 本文中快速 DROP TABLE 利用了操作系统的 Hard Link(硬链接) 的原理。...
    阅读全文 →
  • 【分享】100+个MySQL调试和优化技巧

    MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。 MySQL 服务器硬件和操作系统调节 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 使用电池供电的RA...
    阅读全文 →
  • 【分享】10个最经典的 MySQL 数据库运维实战案例

    摘星怪  /
     / 数据存储
        今天就给大家列举 MySQL 数据库中最经典的十大错误案例,并附有处理问题的解决思路和方法。希望能给刚入行或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。     学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界! 案例一:Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行) 问题还原: mysql> show variables like ‘%max_connection%’; | Variable_name   | Value | max_connections | 151   | ...
    阅读全文 →
  • 【案例】云智慧:如何进行PB级别数据的架构变迁

    随着DT时代的来临,数据对于企业经营决策的价值日益凸显,而企业在进行互联网+转型的过程中,如何让数据架构平滑迁移到大数据平台,对于传统业务的转型升级至关重要。企业IT部门该如何进行PB级别大数据平台的迁移规划呢,请看云智慧运维总监张克琛带来的经验分享。 提到PB级别的大数据解决方案市面上有很多,比较火的有Hadoop、Spark、Kafka等等,如果是一个新上线的系统,相信大家都能找到适合自己的方案。但“大数据”在09年才逐渐成为互联网信息技术的流行词汇,一个较老的系统如何平滑迁移到PB级数据架构呢? 云...
    阅读全文 →
  • 【分享】线上环境到底要不要开启query cache

    【文章内容】 Query Cache(查询缓存,以下简称QC)存储SELECT语句及其产生的数据结果,特别适用于:频繁提交同一个语句,并且该表数据变化不是很频繁的场景,例如一些静态页面,或者页面中的某块不经常发生变化的信息。QC有可能会从InnoDB Buffer Pool或者MyISAM key buffer里读取结果。 由于QC需要缓存最新数据结果,因此表数据发生任何变化(INSERT、UPDATE、DELETE或其他可能产生数据变化的操作),都会导致QC被刷新。 根据MySQL官方的测试,QC的优劣分别是: 1、如果对一个表执行简单的查询,但每次查询都不...
    阅读全文 →
  • 【案例】nice公司服务端架构重构与演进

    作者简介: 雷果国,2014 年 11 月加入 nice,负责服务端在线业务,擅长 PHP,曾自发翻译过《Extending and Embedding PHP》一书及PHP官方手册部分模块。喜欢利用所学构建自己的工具链,思考系统和架构设计方面的问题。 文章内容: nice 是一款图片社交 App,目标是让人们发现生活的美好。产品的核心体验是基于生活方式的社交。 我们期望通过图片、直播、标签、潮牌新品等方式,让用户表达自己的生活方式,以这些内容作为基础,为用户提供社交场景。产品方面,目前我们仍然在积极探索怎样更好的为用户提供这种价值...
    阅读全文 →
  • 【工作】MySQL InnoDB引擎转换为MyISAM引擎方法

    MySQL 5.5以上默认数据库引擎为InnoDB,InnoDB虽然带来很多特性上的改进,但是对系统资源占用,尤其是内存占用明显增加,所以对于小内存或者单机使用的服务器,还是使用MyISAM更为合适。 从InnoDB引擎转换成MyISAM引擎 (MySQL命令行下使用SHOW ENGINES命令可以查看数据库默认引擎,或者查看my.cnf文件) 方法一:修改单个表的存储引擎:   进入MySQL命令行模式,然后执行以下指令(以数据库wikidb数据库为例):   mysql> use wikidb   查看表的默认引擎: mysql> show create table my_wikiarchive\G ) EN...
    阅读全文 →
  • 【实战】MySQL数据库的优化

    我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择、MySQL的安装、my.cnf的优化、MySQL如何进行架构设计及数据切分等方面来说明这个问题。 服务器物理硬件的优化 在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的资金着重投入到如下几处: 1、磁盘寻道能力(磁盘I/O),我们现在用的都是SAS15000转的硬盘,用6快这样的硬盘作RAID1+0。MySQL每一秒钟都在进行大量、复杂的查询操作,对磁盘的读写量可想而知,所以,通常认为磁盘I/O是约制MyS...
    阅读全文 →
  • 【工作】MySQL MHA+Atlas读写分离集群搭建详细记录

    摘星怪  /
     / 工作记录, 数据存储
    写在前面: 1.对于MySQL读写分离的实现,很早之前在看一些技术书和文章时候都了解过,但是系统的搭建和研究并没有。而目前公司得数据库架构基本是主主模式,考虑到今后数据访问量的提升,正好最近工作不是太忙,可以空出一些时间,决定仔细研究下MySQL读写分离集群的搭建。 2.本文可以说原创也可以说不是,因为是结合了很多网上的文档和文章编写出来的,而说原创的话,是因为所有的过程都是自己研究并记录的,包括对网上的一些文章中没有解决的问题和一些写的错误的地方都进行了改善和记录。当然本文也有很多不完...
    阅读全文 →
  • 【案例】大数据量下,58同城mysql实践

    微信号:架构师之路  /
     / 企业案例, 数据存储
    WOT(World Of Tech)2015,互联网运维与开发者大会将在北京举行,会上58同城将分享《大数据量下,58同城mysql实战》的主题,干货分享抢先看。 零、分享提纲 1)基本概念 2)常见问题及解决思路 3)拆库实战 4)拆库后业务实战 5)总结 一、基本概念 二、大数据量下,mysql常见问题及解决思路 1)常见问题 如何保证可用性? 各色各异的读写比,怎么办? 如何做无缝倒库,加字段,扩容? 数据量大,怎么解决? 2)解决思路 2.1)可用性解决思路:复制 读库可用性 从库复制多个,例如:1主2从 从库挂了读主库,例...
    阅读全文 →
  • 【工作】线上MySQL远程长连接很短时间就超时夯(hang)住问题解决

    摘星怪  /
     / 工作记录, 数据存储
    现象说明:   研发说有一台线上服务器(此处称为A服务器)需要远程连接数据库服务器,A服务器上配置了连接池,需要每小时跑一次任务,连接池设置的超时时间也很长,但是发现如果没有数据传输,不到半小时数据库上的连接就消失了,而A服务器上面的已建立的连接却夯住不动了,无法继续执行sql命令,需要运维查看下什么原因   问题排查:   根据研发描述的状况,如果应用的连接池设置时间没有问题,就需要考虑的是数据库的超时设置,于是登录数据库服务器,进行如下操作: mysql> show global variables like 'wait...
    阅读全文 →
  • 【案例】平台化管理MySQL数据库:拉手网DBMP平台介绍

    作者:常纯  /
     / 企业案例, 数据存储
    常纯 拉手网运维团队负责人 拉手网运维团队负责人,十余年运维工作经验(在日本从事系统运维工作三年)曾就职于日本Thrust公司、高朋网(Groupon)、拉手网、热爱研究开源技术,对互联网网站架构及自动化运维有丰富经验。 主题介绍 为什么要有DBMP平台 DBMP平台架构及功能介绍 DBMP平台页面展示 DBMP平台后期优化方向 一、为什么要有DBMP平台 公司业务不断增长,需要管理的MySQL数据库也在不断增长,DBA手里的活越来越多,从安装MySQL数据库再到线上数据修复、数据迁移、SQL审核等一些日常琐碎的事情就占...
    阅读全文 →
  • 【案例】单表60亿记录等大数据场景的MySQL优化和运维之道

    作者:杨尚刚  /
     / 企业案例, 数据存储
    此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计。 前言 MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视。 MySQL历史 1979年,Monty Widenius写了最初的版本,96年发布1.0 1995-2000年,MyS...
    阅读全文 →
  • 【案例】魅族资深DBA:利用MHA构建MySQL高可用平台

    作者:龙启东  /
     / 企业案例, 数据存储
    本次分享主要包括以下几方面: 如何利用MHA 改造MHA适应MySQL高可用场景 构建MySQL高可用平台的出发点 如何构建MySQL高可用平台 一、背景和目标 以前几十台DB服务器,人工登陆服务器就能维护好,也没有高可用,当master挂了,通知业务将IP切换到slave然后重启也能基本满足业务要求,但是业务迅速发展,实例数不断增加,复制集不断增加,数据库架构多样化,而这种人工维护方式显然大大增加了DBA工作量,而且效率低下、容易出错。 DB规模的增大,机器故障、SQL故障、实例故障出现的概...
    阅读全文 →
  • 【分享】Mysql在大型网站的应用架构演变

    写在最前: 本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变 可扩展性 架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种: Scale-up :  纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力 Scale-out : 横向扩展,  通过加节点(机器)来实现伸缩,提升服务能力 对于互联网的高并发应用来说,无疑Scale out才是出路,通过纵向的买更高端的机器一直是我们所避讳的问题,也不是长久之计,...
    阅读全文 →
  • 【案例】达达-高性能服务端优化之路

    提纲 业务场景 最初的技术选型 读写分离 垂直分库 水平分库(sharding) 总结 业务场景 达达是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题。 达达业务主要包含两部分:商家发单,配送员接单配送,如下图所示。   达达的业务规模增长极大,在1年左右的时间从零增长到每天近百万单,给后端带来极大的访问压力。压力主要分为两类:读压力、写压力。读压力来源于配送员在APP中抢单,高频刷新查询周围的订单...
    阅读全文 →
  • 【分享】京东商城DBA:如何成为一个优秀的 MySQL DBA

    51CTO博客  /
     / 企业案例
    作者介绍: 王伟 京东商城MySQL资深DBA 专注并致力于MySQL数据库自动化运维、监控、架构、性能调优等技术,曾就职于光宇游戏、聚美优品负责MySQL运维,多年大型电商及游戏行业MySQL数据库运维经验。   MySQL 是一个跨平台的开源关系型数据库管理系统,目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。随着 MySQL 在互联网上...
    阅读全文 →
  • 【实战】MySQL 5.6 & 5.7最优配置模板

    作者:姜承尧 InsideMySQL  /
     / 数据存储
    Inside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。特别注意,这份配置文件不用修改,可以直接运行在MySQL 5.6和5.7的版本下,这里使用了小小的技巧,具体可看配置文件。如果配置参数存在问题,也可以及时反馈Inside君,我们一起成长。 触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本...
    阅读全文 →