首先啰嗦下学习MySQL的一些背景:MySQL作为目前最为活跃热门的开源数据库之一,以低成本和简易操作的组合方案在互联网企业中被广泛采用而大放异彩。在炙手可热的BAT中,MySQL正被大量使用。显然,对于想在互联网行业大展手脚的数据库工程师和DBA们,熟练的MySQL技术无疑是一块很好的敲门砖。
一个业务方给了一个SQL,要让在线上执行,具体的SQL抽象完成之后是这样的:
编辑手记:前几天在知乎上出现了一个很热的帖子,话题是“MySQL DBA技术难度低为什么工资比oracle高?”,这个话题很快引起了热烈的讨论。从回帖的情况来看,大部分人几乎都默认了MySQL DBA工资的确高这个事实,那么原因是什么,我们节选MySQL专家刘伟的回帖跟大家分享。 以下是他回帖的原文: 主要有以下两个原因: 1、市场供需关系 2、技术要求相对高 这两个因素一直没有得到改善,导致现在市场的行情是:招MySQL DBA难,招称心的MySQL DBA就更难。 先说一个工资议价的常识,工资水平行业
今天我们讲的 DBA 并不是传统的数据库管理员那个 DBA ,而是一个 PHP 中的巴克利风格数据库的扩展。巴克利风格数据库其实就是我们常说的键值对形式的 K/V 数据库。就像我们平常用得非常多的 memcached 或者 redis 那样,只是一个键和一个值对应,不过 memcached 它们主要是存储在内存中,而 DBA 扩展则是将数据存储在文件中,就像一个简单的键值对形式的 SQLite 一样。
作者介绍 王竹峰 去哪儿网数据库总监,擅长数据库开发、数据库管理及维护,一直致力于 MySQL 数据库源码的研究与探索,对数据库原理及实现有深刻的理解。曾就职于达梦数据库,从事多年数据库内核开发工作,后转战人人网,任职高级数据库工程师,目前在去哪儿网负责 MySQL 源码研究与运维、数据库管理和自动化运维平台设计开发及实践工作,是 Inception 开源项目及《MySQL运维内参》的作者, MySQL 方向的 Oracle ACE。 一、数据库开发 2011年从华中科技大学数据库与多媒体研究所毕业之后,
Linux top命令用于实时显示 process 的动态,当我们在命令框中敲入top命令然后回车之后,可以看到如下输出:
今天我就给大家讲一下我们这边做的数据库运维的自动化平台,他是怎么样子的。首先我会给大家简单介绍一下我们做平台的背景,以及平台的一些技术架构,以及针对我们DBA和开发的需求的全套解决方案。 首先是背景,我们为什么要做RDS,在做RDS之前其实我们也有一套自己的自动化系统,可是我们有了这套自动化系统我们发现有了之后我们DBA还是很忙,每天忙于工单处理,大表DDL,集群搭建,扩容,数据迁移等等。这些东西不能说没有价值,但是对于DBA来说,每一次的重复操作,都会让这个价值指数级下降,并且不能带来成长。所以我们对这些
MySQL开发团队很高兴宣布MySQL Shell AdminAPI的新8.0维护版本– 8.0.23!除了一些错误修复和较小更改之外,还包括有关监视/故障排除 和性能的一些重要增强。
01 问题起因 目前在线上安装MySQL现在都是通过平台化操作的,平台化的后台操作逻辑也是将安装的脚本直接运行。昨天在安装的过程中总是出现错误,错误的提示信息大概如下:
这里首先解释下:json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
墨墨导读:本文是 MySQL Shell 快速搭建 副本集 和 MGR集群的全过程,分享至此,希望对大家有帮助。
作者:李富强,爱可生 DBA 团队成员,熟悉 MySQL,TiDB,OceanBase 等数据库。相信持续把对的事情做好一点,会有不一样的收获。
大家好,我是马听,目前有8年DBA工作经验,这一篇文章,来跟大家聊一下,从事DBA岗位是一种怎样的体验?
其实关于数据库的话题,能聊的很多,作为开发者来说,单说自己接触过的或者曾经用过的数据库就有不少,比如说关系型数据库:Mysql数据库、Oracle数据库、SQL Server数据库、DB2数据库、DM数据库;以及一些自己知道但是还未曾用过的关系型数据库:PostgreSQL数据库、OceanBase数据库等等。当然还有业务中常出现的非关系型数据库:Redis数据库、Memcached数据库、MongoDB数据库、Elasticsearch等。以及现在出现的云数据库、云原生数据库等。比如阿里云现有的数据库云产品系列,
这里的意思是应该是你本来就存在“多个账户”,然后当用户使用时要适当的“分配账户”给用户,而账户再拥有不一样的权限,这样就实现了将权限通过账户分配给用户(自然人)。
今天上午,我给一台单实例节点成功挂载了一个NFS备份机,挂载完成之后,尝试给这个单实例节点利用xtrabackup的方式搭建一套主从环境,在搭建的过程中出现了一点儿问题,这里记录下来,以供日后回溯。
MySQL凭借着它还不错的性能、还不错的稳定性常年稳居老二宝座,当然最大的优势就是它不要钱,还开源,这让它成为大部分中小型公司,尤其是互联网公司首选的数据库(近年来越来越多的大公司也在尝试将业务转移到这种不要钱的数据库上来)。
提到云数据库第一个想当然的问题不是云数据库本身,而是云数据库来了,DBA 都没饭吃了。期初我也是这个想法,因为见过不少云数据库的DBA的不专业和对数据库底层以及高可用,接近白痴的知识水平,对于他们,只有两个字,呵呵。
今天学习了下MySQL的备份恢复内容,也算是对之前的 数据导入导出的一个细化内容。备份恢复的内容其实还是蛮复杂的,一般网站上提到的备份恢复也基本都是逻辑备份恢复的内容。对于更为高效的备份mysqlbackup和恢复的内容提到的很少,mysqlbackup是需要Licence,需要单独收费的,这也算是向oracle产品线的一个靠拢了。 首先我们还是走走老路,来看看最基本的逻辑备份恢复吧。我们模拟了3万多条的数据。然后尝试恢复回来。 mysql> use test; Reading table informat
说到这个问题的话,那么从PolarDB入手来说,作为开发者关注的数据库技术与创新基本就在里面了。 PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。可以说关于数据库技术和创新,云原生数据库PolarDB 体现的很全面了,下面看一下云原生数据库PolarDB的产品架构图
MySQL中的数据恢复功能相比Oracle来说还是要单薄一些,而Oracle中的数据恢复相对来说自动化的程度要高一些。不过Mysql的二进制日志提供的信息很丰富,而日志信息在Oracle中式完全屏蔽的,对于数据的恢复可能MySQL也很灵活。 我们来模拟一下通过完整备份+增量备份(binlog)的方式来恢复。 首先我们来选择一个表new_test作为恢复的参考点。 mysql> select count(*)from new_test; +----------+ | count(*) | +---------
本文起源于有同学留言说,想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧。
性能的管理一直都是摆在第一位的,dba的很多工作管理层都看不到也没有办法衡量价值,但是如果一个系统慢的跟蜗牛一样,dba通过监控调优把系统从崩溃边 缘重新拉回到高铁时代。这种价值和触动应该是巨大的。(很多企业的领导认为系统跑不动了就需要换更快的CPU、更大的内存、更快的存储,而且这还不是少 数,所以DBA的价值也一直体现不出来,薪水自然也就不会很高)
从大学开始自学各类数据库的资料,偶然间在学习 Linux 操作系统当中接触了 MySQL ,当时这个轻量级的数据库作为 Linux 操作系统中的服务存在,顿时让人觉得神奇。
本文介绍的三种调优方法是按照金字塔的调优顺序排列的,如下图所示。一般来说,自底向上调优的效果是成反比的,而越往下层调优效果越好,但是难度也越大。
线上tidb集群都是2.1.[5,7,8,17],因版本太低,面临诸多问题,比如管理难度大,热点问题,执行计划失效,性能瓶颈,其他已知/未知且无法解决的问题,现在需要升级至4.0.13版本。在调研后发现,如果原地升级将需要多次升级【2.1--> 3.0 --> 4.0】,担心原地升级遇到不可逆的故障,更担心的是解决不掉而影响业务,所以经过测试和评估,最终采用数据迁移的方式进行升级。
本文深入介绍枚举类型EUNM和集合类型SET。测试基于InnoDB存储引擎上,对MySQL数据库枚举类型ENUM的字段进行DDL变更操作,是否需要重新创建表呢?对数据库的事务处理有何影响?对数据库的数据服务提供有何性能影响?通过本文了解下。
“你不是不够好, 你只是过时了” 这句话用到 IT 行业特别合适, 每隔一段时间都会有新的技术出现, 让码农们应接不暇. 借着回顾 DBA 工作中的几个时期, 跟大家分享我们对下一代数据库运维架构的理解和目前正在做的工作.
Mysql高可用环境的搭建比较麻烦,这使很多人都不去搭建高可用环境,等到有问题时再说 最近Mysql的动作很快,新版本的发布频繁,推出很多新的好用功能及插件,其中了就包括了简化高可用环境的搭建难度 下面就体验一下新的搭建方法,的确方便了很多 整个过程包括: 基础环境的安装(mysql 5.7.15、mysql-shell、mysql-router) 部署多个实例 创建集群 部署 Mysql Router 故障测试 其中第1步的过程较长,便不在本文中介绍,有兴趣自己搭建的小伙伴可以发送消息:01,获取相关安装
最近在做MySQL向infobright的迁移工作,用的方法是shell脚本的方法。之前听说过有datax的方法也可以做数据流转,今天下班后,就试了试datax的方法,整个过程还是比较顺利的。记录一下。
grep,sed和awk被称之为linux三剑客,后面两个在文章中都写过一些,今天先简单写写grep这个命令。
导语 专职做 DBA 已经 6 年多的时间了,一路上,跌跌撞撞,从小公司 DBA,到腾讯高级 DBA,再到现在的金融数据库 DBA。看同行、同事犯了太多的错误,自己也犯了非常多的错误。一路走来,感触非
字符集问题比较枯燥,知数堂MySQL DBA实战班中,经常遇到一些很利害的同学也对字符集一知半解,想着应该有很多同学也存在这个问题。 那么我们把课程中的内部证明方法整理出来,也让大家感受一下:知数堂MySQL DBA的实战班的风格: 就是干。
专职做 DBA 已经 6 年多的时间了,一路走来,感触非常深。看同行、同事犯了太多的错误,同样我自己也犯了非常多的错误,然而绝大多数的错误其实都是很低级的错误。 有的是因为不了解某个引擎的特性导致、有的是因为对线上环境不了解导致、有的是因为经验不足导致。一路上,跌跌撞撞,从小公司 DBA,到腾讯高级 DBA,再到现在的金融数据库 DBA。 不由得想起 5 年前的我,刚进入 DBA 行业,缺乏经验,经常犯错误,不是我不够努力,更多的是初来乍到的我根本不知道应该在哪方面下功夫。 本文就是基于这方面的考虑
摘要 “你不是不够好,你只是过时了”这句话用到 IT 行业特别合适,每隔一段时间都会有新的技术出现, 让码农们应接不暇。借着回顾DBA工作中的几个时期,跟大家分享我们对下一代数据库运维架构的理解和目前正在做的工作。 DBA 层出不穷的时期 刚进入阿里时听过一句话一直记到现在,“要像了解自己的老婆一样了解自己管理的数据库”。当年我还没有结婚,对这句话的理解并不深刻。 这应该是@冯春培说的,当年进阿里的面试考官之一,大家都服气的称他为大师。 这句话后面其实隐含了一个背景:相比现在,当时的应用迭代较慢,架构集中,
周耀荣:感谢大家坚持到现在,我先介绍一下我自己,我叫周耀荣,曾经任职于腾讯、金蝶、华为,现在在珍爱网,也算是数据库DB运维的老兵。
导语:“你不是不够好,你只是过时了”这句话用到 IT 行业特别合适,每隔一段时间都会有新的技术出现, 让码农们应接不暇。借着回顾DBA工作中的几个时期,跟大家分享我们对下一代数据库运维架构的理解和目前正在做的工作。 明星 DBA 层出不穷的时期 刚进入阿里时听过一句话一直记到现在,“要像了解自己的老婆一样了解自己管理的数据库”。当年我还没有结婚,对这句话的理解并不深刻。 这应该是@冯春培说的,当年进阿里的面试考官之一,大家都服气的称他为大师。 这句话后面其实隐含了一个背景:相比现在,当时的应用迭代较慢,架构
角色 ( Role ) 可以用来批量管理用户,同一个角色下的用户,拥有相同的权限。那 MySQL 数据库是否也有这样的功能呢 ?
仅凭嘴皮子,很难让初学者有个直观的印象,那么我就用非常受欢迎的漫威人物钢铁侠来解释下:
在我们实际工作中,尤其在公司的测试环境下,经常会有多个业务方服务共用同一套服务器,部署自身MySQL环境。很不巧的是,会出现有MySQL数据文件被删除/误删除的情况发生。假如真的发生了,想想就很令人崩溃对不对?
大家知道 2022 年我又创业了,加入以虎哥 Startup 的 Databend 这个公司担任联创,我也从传统的 OLTP 转战到 OLAP,今年也接触了更多大数据用户。趁着元旦假期整理一下思路,从数据角度和大家聊一下 2022 年数据库发展,这里首先声明这篇文章更多只代表个人观点,大家看看就好,有兴趣后面找机会再交流。
1. 简介 InnoDB Cluster 的搭建可以分为两种情况: (1)实验环境 使用 sandbox 沙箱模拟数据库实例,这个非常简单,可以参考之前的一篇文章《体验 MySQL InnoDB Cluster》,也可以看 mysql 的官方文档,其中就是使用 sandbox 来介绍搭建过程的 (2)真实多服务器节点环境 真实环境下的搭建要更复杂一些,过程中我也遇到了一些问题,这方面的资料还很少,花费了不少时间才搭建成功 下面总结了多节点 InnoDB Cluster 搭建的详细过程,供有需要的朋友参考 2
写这篇文章的背景是上个月一天里面的两个缘分,当天下午刚和一个数据库的朋友挂断了电话,本月要举办一个数据库盛会后的一些热门话题的讨论活动,被邀请食宿免费,希望我能探讨这个话题,本人也非常想去,但基于某些已经预定的商业活动,只好和这位老师说 sorry。
cut命令是一个常用的linux命令,它从文件的每一行剪切字节、字符和字段并将这些剪切出来的东西写到标准输出。它有一些常用的参数,先看两个:
MYSQL 截止目前高可用的方式主要有传统的复制方式,MGR 也叫innodb cluster , 以及今天要说的 innodb replicatset。
本系列文章基于 5.7.12 版本讲述MySQL的新特性。从安装,文件结构,SQL ,优化 ,运维层面 复制,GITD等几个方面展开介绍 5.7 的新特性和功能。同时也建议大家跟踪官方blog和官方文档,以尽快知悉其新的变化。本文将重点介绍新版本对JSON格式的支持。
今天中午,尝试着将线上rds的一套主从复制架构重新给搭建成一主两从的架构,在搭建的过程中,遇到了一些有意思的问题,记录一下:
更换某个数据库进行各种前期的测试和比对是非常正常的事情,但是再正常的事情中,可以包含无数的你意料以外的事情,今天就所说最近遇到了一次有意思的数据库测试POC中的问题。
今天小伙伴手一抖,就把开发环境里一张表给删了。因为是开发环境,又有关联数据,所以最终影响不大,还是恢复了。即便如此,小伙伴手心里已经全是汗了~~ 由此想到,生产环境下,总会有DBA和生产库打交道,其中也免不了更新和删除。借此机会总结一下一些常规招数。 避免混淆开发环境的DB和生产环境的DB 这在小公司小团队尤其常见。一个人即负责开发,又管DB。桌面上开了一坨终端,有的是开发的DB,有的是生产的DB。一不留神,就写串了,或者粘贴串了。更郁闷的是,有时候粘贴会顺便粘贴SQL最后的回车,这样一贴就执行了。稍有不慎
领取专属 10元无门槛券
手把手带您无忧上云