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

数据库升级-成为MySQL DBA 博客系列(之二)

数据库供应商通常每个月都会发布一些有bug /安全性修补程序的补丁,我们为什么要关心这些?...其中MySQL主要版本比较少见,通常是次版本升级,但是他们可能会带来一些重要的功能,使得升级是值得的。 在这篇博文中,我们将介绍DBA的一个最基本的任务—次要版本数据库升级和主要数据库升级。...在数据库方面,你也可以做一些通用的测试。为此,您需要一个慢日志格式的查询列表。然后,可以使用pt-upgrade在旧版本和新版本的MySQL上运行它们,比较响应时间和结果集。...个人认为一个DBA除了要考虑性能,更多的是考虑稳定,安全。 次要版本升级 小升级相对容易执行—大多数情况下,您只需要使用发行版的软件包管理器来安装新版本即可。...一旦你这样做,你需要确保升级后MySQL已经启动,然后你应该运行mysql_upgrade脚本。该脚本遍历数据库中的表,并确保它们与当前版本兼容。如果有需要,它也可能修复你的系统表。

1.4K30

MySQL DBA面试全揭秘

本文起源于有同学留言说,想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧。...MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,但也有很多公司找不到合适的DBA。...本文可以作为MySQL DBA面试官,以及候选人的双向参考 :) 面试流程:我以往做MySQL DBA面试时的流(套)程(路) 一、自我介绍 1、先自我介绍后,再让候选人花2-5分钟做下自我简介:...所做过的一些数据库架构方案设计、实施经验。...这些知识对一般的DBA可能不太重要,但想要成为资深DBA数据库架构师的话,这些知识是必不可少的。 先啰嗦说这么多吧,希望对有志成为DBA的同学有些帮助,加油加油↖(^ω^)↗

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

MYSQL主从同步(DBA)配置.md

文件系统级别同步 drbd(基于文件系统同步网络RAID1),同步所有的业务(Oracle数据库常常这样干) mysql数据库的官方推荐drbd同步数据,所有的单点的服务器都能利用其同步; 数据库同步机制...update,insert,delete交给Master服务器;门户网站常用分布式dbproxy(读写分离,hash负载均衡,健康检查) 根据服务器拆分业务独立并分担压力:有为外部用户提供查询服务的从服务器,有DBA...线程同步状态查看数据库同步是否完成, 用于主库宕机或者人工数据库文件从切换迁移等等; 主库宕机选择最快的从库提升为主,需要查看当然也可以利用mysql的半同步功能,选择固定的库提升为主; (7)主从配置总结...A:用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录 什么时候需要记录binlog的情况?...低权限账户登陆数据库 $ mysql -uweb -pweb@web -S "/data/3307/mysql.sock" #验证从库是否是只读,不能写。

86320

数据库 “吃了” DBA

提到云数据库第一个想当然的问题不是云数据库本身,而是云数据库来了,DBA 都没饭吃了。...1 上了云,DBA数据库底层,以及高可用渐行渐远,属于被架空了状态,如果干上几年的云数据库DBA,估计连实体机上的高可用是什么东西都不知道了,竞争力直线下降。...我们以 PG 和 MYSQL ,MONGODB为例, 1 PG 在搭建的时候你的SCHEMA 是怎么安排的,public作为默认的schema ,扣10分 2 MYSQL 怎么计算一张表大约在多少行数后...无论是PG 还是 MYSQL ,成型方案千千万,但原理是不变的,即使他是很牛逼的云厂商,照样 呵呵。...至于第三个问题,云数据库DBA没发展,那的怎么看,如果云数据库你没有发展,你实体机的DBA 生涯未必多姿多彩,不是云数据库的问题,是你不行的问题,行的放哪都行,不行的镀金也是一滩烂泥。

64820

MySQL DBA亲授MySQL InnoDB事务ACID实现原理

说到数据库事务,想到的就是要么都做修改,要么都不做,或者是 ACID 的概念。其实事务的本质就是锁、并发和重做日志的结合体。...我们先来看下 InnoDB 的锁的介绍: InnoDB 中的锁 你可能听过各种各样的 InnoDB 的数据库锁,Gap 锁,共享锁,排它锁,读锁,写锁等等。...原子性、一致性、持久性 ---- 事务隔离性由锁实现,原子性、一致性和持久性由数据库的 redo log 和 undo log 实现。...当事务提交时,日志不写入重做日志文件,而是等待一个事件周期后再执行 Fsync 操作,由于并非强制在事务提交时进行一次 Fsync 操作,显然这可以提高数据库性能。...undo 是逻辑日志,只是将数据库逻辑恢复到原来的样子,但是数据结构和页本身在回滚之后可能不同。 例如:用户执行 insert 10w 条数据的事务,表空间因而增大。

1.2K30

为什么DBA不让给MySQL数据库中加触发器呢?

在一次迭代的时候,我给数据库中增加了两个时间字段: `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP...COMMENT '更新时间', 当时是紧急发布在leader的劝说下DBA 允许先上了,DBA当时就提了下个迭代给撤掉。...为什么DBA不让给数据库加触发器呢? 触发器功能强大,轻松可靠地实现许多复杂的功能,为什么又要慎用呢。触发器本身没有过错,但由于我们的滥用会造成数据库及应用程序的维护困难。...在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作…… 同时规则、约束、缺省值也是保证数据完整性的重要保障。...如果我们对触发器过分的依赖,势必影响数据库的结构,同时增加了维护的复杂程度。 还有就是个人看法触发器在MySQL服务器执行的效果和在业务i代码中执行的性能浪费相对来说在业务代码比较少吧。

73910

MySQL DBA面试高频三十问

C=Consistency 系统(数据库)总是从一个一致性的状态转移到另一个一致性的状态,不会存在中间状态....InnoDB默认使用的是可重复读隔离级别. 6、对MySQL的锁了解吗? 当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制....解决超大分页,其实主要是靠缓存,可预测性的提前查到内容,缓存至redis等k-V数据库中,直接返回即可. 5、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由.比如性能....事实上我们经常会为了性能而妥协数据库的设计. 9、MyBatis中的# 乱入了一个奇怪的问题…..我只是想单独记录一下这个问题,因为出现频率太高了. # 会将传入的内容当做字符串,而有什么区别?

2.6K31

MySQL事务和锁——《MySQL DBA工作笔记》

MySQL事务 事务存在的原因 事务存在的目的:保证用户对数据操作对数据是安全的。...避免不可重复读的方式: 重复读(RR,MySQL默认级别):就是在开始读取数据时,不允许修改操作。但会导致由于允许insert操作导致的事务结果出现不同。...MySQL锁机制 Innodb实现了两种类型的行锁:共享锁,排他锁。 共享锁和排他锁 共享锁:允许一个事务读一行,阻止其他事务获得相同数据集的排他锁,多个共享锁是可以并行的。...这里的小红,小明,小花,小刚就是数据库的一条条记录。 他们之间的空隙也就是间隙,而封锁他们之间距离的锁,叫做间隙锁。...间隙锁的目的是为了防止幻读 innodb自动使用间隙锁的条件: 必须在RR级别下 检索条件必须有索引(没有索引的话,mysql会全表扫描,那样会锁定整张表所有的记录,包括不存在的记录,此时其他事务不能修改不能删除不能添加

90330

Oracle和MySQL DBA的进阶之路

在今年数据库技术大会的时候,我在专场"DBA修炼之道”里讲了关于DBA的一些技术建议,没想到得了第三天的“最佳讲师”。奖品是有个蛮不错的音响,没事的时候在客厅放上几个曲子。...主题是“Oracle和MySQL DBA的进阶之路"。...对于Oracle DBA来说,学习MySQL的话学习周期会相对短一些,入门也比较快,但是如果要深入学习MySQL,还是很难的,因为有很多方面都需要深入理解,深入的层次是在源码级,可以做定制,而对于MySQL...对于Oracle和MySQL,还是需要了解下他们目前的位置,最新的DB-Engines的报告显示前三甲稳稳的是关系型数据库,而MySQL是作为开源数据库的第一阵营出现的,当然这个排行榜不要过度解读,本身只是一个流行度的标识...这里我们就需要考虑数据库的版本规划,想起来容易但是落实起来难,因为就有很多的因素需要考虑,而不是简单的找一个认为好的。

1.4K60

MYSQL 8 MySQL DBA 也该学学复杂查询了

MYSQL 一直被diss的就是数据分析尤其在窗口函数这一块,相对于O , S , P三个数据库MYSQL在这方面基本上属于空白。MYSQL 8 的到来后,这方面也有了改变。...在别的数据库上有的专门的课程 T-SQL, PLPGSQL, PLSQL等等,也是否有可能在MYSQL上,随着MYSQL8的使用,出现 M- SQL。...这样的操作在MYSQL 5.7中如果要操作的话,这是达到同样结果的写法,在MySQL 5.7 但实际上有些查询在MYSQL5.7是不能进行的。...下面这个语句的意思是,根据员工的工资进行一个排序根据每个员工的工号作为一个排序的partition by ,从这里可以看到每个员工的随着在公司工作的年限,越长,工资的涨幅和总数都是一个向上的过程,这样的复杂操作如果在MYSQL...下面这个SQL 就是相关的完成上面的工作的,如果在MYSQL上完成类似的语句,不使用这样的窗口函数,在 事实上这些也只是窗口函数的冰山一角,以上也仅仅是抛砖引玉,需要学习的东西还很多。

90410

Mysql使用规范,赶紧转给DBA看看吧

数据库命名规范 所有数据库对象名称必须使用小写字母并使用下划线分割 所有数据库对象名称禁止使用mysql保留关键字 命名符合见名知意原则,且最好不要超过32个字符 临时表以tmp_为前缀并以日期为后缀,...备份表以bak_为前缀并以日期为后缀 需要关联的列类型必须一致,如果不一致在关联查询时会自动进行数据类型隐式转换,造成列上的索引失效 数据库基本设计规范 所有表必须使用Innodb存储引擎,Innodb...MySQL限制每个表最多存储4096列,并且每一行数据的大小不能超过65535字节 减少磁盘IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓冲池时所占用的内存也就越大,也会消耗更多的IO)...更有效的利用缓存,避免读入无用的冷数据 经常一起使用的列放到一个表中(避免更多的关联操作) 禁止在数据库中存储图片,文件等大的二进制数据 数据库字段设计规范 优先选择符合存储需要的最小的数据类型 避免使用...数据库SQL开发规范 建议使用预编译语句进行数据库操作 避免数据类型的隐式转换 充分利用表上已经存在的索引 禁止使用SELECT * 必须使用SELECT 查询 禁止使用不含字段列表的INSERT

67230

从运维角度浅谈MySQL数据库优化,中小企业DBA必会

这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 数据库表设计 ---- 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计...数据库性能优化 ---- 如果将MySQL部署到普通的X86服务器上,在不经过任何优化情况下,MySQL理论值正常可以处理2000左右QPS,经过优化后,有可能会提升到2500左右QPS,否则,访问量当达到...一方面可以单台运行多个MySQL实例让服务器性能发挥到最大化,另一方面是对数据库进行优化,往往操作系统和数据库默认配置都比较保守,会对数据库发挥有一定限制,可对这些配置进行适当的调整,尽可能的处理更多连接数...另一个种方式通过代理程序实现读写分离,企业中应用较少,常见代理程序有MySQL Proxy、Amoeba。在这样数据库集群架构中,大大增加数据库高并发能力,解决单台性能瓶颈问题。...数据库维护 ---- 数据库维护是运维工程师或者DBA主要工作,包括性能监控、性能分析、性能调优、数据库备份和恢复等。

68740

MySQL DBA之路 | 性能配置调优篇

一、简介 数据库服务器需要CPU、内存、 磁盘和网络才能运行,了解这些资源对于DBA来说非常重要,因为任何的超载行为都可能成为限制因素,导致数据库服务器性能不佳。...DBA的主要任务就是调整系统和数据库的配置,避免可用资源的过渡利用和利用不足。 首先,性能优化是一个持续的过程,安装MySQL通常是调整操作系统和数据库配置的第一步。...而数据库是一个动态系统,这是一个永无止境的故事。你的MySQL数据库起初可能是CPU绑定的,因为你有足够的内存和很少的数据。随着时间地推移,它可能会改变,磁盘访问可能会变得更加频繁。...对于具有24到32个内核和128GB内存的MySQL数据库服务器,处理多达20 - 30个同时运行的连接和多达数百个同时连接的客户端,我们可以说10 - 15GB的内存应该足够了。...正如我们在开始时所提到的那样,调整这些设置可能不会使MySQL数据库的速度变得更快 。但通过调整查询,您有可能加快这一速度。但是他们对整体表现仍然有明显的影响。祝你好运,调整工作!

1.8K60

从运维角度浅谈MySQL数据库优化,中小企业DBA必会

这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 数据库表设计 ---- 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计...数据库性能优化 ---- 如果将MySQL部署到普通的X86服务器上,在不经过任何优化情况下,MySQL理论值正常可以处理2000左右QPS,经过优化后,有可能会提升到2500左右QPS,否则,访问量当达到...一方面可以单台运行多个MySQL实例让服务器性能发挥到最大化,另一方面是对数据库进行优化,往往操作系统和数据库默认配置都比较保守,会对数据库发挥有一定限制,可对这些配置进行适当的调整,尽可能的处理更多连接数...另一个种方式通过代理程序实现读写分离,企业中应用较少,常见代理程序有MySQL Proxy、Amoeba。在这样数据库集群架构中,大大增加数据库高并发能力,解决单台性能瓶颈问题。...数据库维护 ---- 数据库维护是运维工程师或者DBA主要工作,包括性能监控、性能分析、性能调优、数据库备份和恢复等。

51220

MySQL DBA如何利用stracepstackgdb来定位问题

mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --user=mysql mysql 13499 11316 13509 0...mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --user=mysql mysql 13499 11316 13511 0...数据库连接打满又没有后台线程可以连接到MySQL的时候,你可以通过gdb来修改MySQL的连接数,例如 gdb -p $(pidof mysqld) -ex "set max_connections=1500..." -batch 总结一下: 本文内容比较多,给大家介绍了几个MySQL DBA(可能其他岗位同样适用)应该掌握的必备工具 strace可以用来跟踪某个线程的调用情况,例如可以适用strace跟踪客户端...住的情况,例如主从延迟特别高等 gdb可能用的不是太多,但是我认为是MySQL DBA进阶必会的技能之一,尤其是抽丝剥茧某些疑难case的时候非常有用 参考文章 https://ke.qq.com/course

2K40
领券