作为DBA不得不知的5大管理MYSQL的开源免费利器

数据库 MySQL 数据库运维
数据库几乎是所有能够成功运行系统的核心。而数据库运维人员对组织的数据负责,能找到可依靠的工具来更加高效的管理数据库,并且轻松的维护日常的工作就变得格外重要。数据库运维人员因此需要更好的工具来使得他们的系统平稳运行。那什么工具才是对MySQL管理者来说是经过测试并且值得相信的呢?这里推荐5款mysql的开源工具。

概述

对于数据库运维人员来说,想要保证数据库在高效平稳的运行就有点像杂技演员在转盘子,需要灵活、专注、能快速做出反应、并且拥有冷静的头脑。数据库几乎是所有能够成功运行系统的核心。而数据库运维人员对组织的数据负责,能找到可依靠的工具来更加高效的管理数据库,并且轻松的维护日常的工作就变得格外重要。数据库运维人员因此需要更好的工具来使得他们的系统平稳运行。那什么工具才是对MySQL管理者来说是经过测试并且值得相信的呢?这里推荐5款mysql的开源工具。

作为DBA不得不知的5大管理MYSQL的开源免费利器

01

Mycli

mycli, 命令行操作mysql的智能提示工具。

提供了代码补全,语法高亮等功能自动通过输入***个字符检索表名或字段名通过命令行模式其中,命令行模式的好处在于,在有着远程操作或者双重认证等安全限制的环境中,不受制约,而图像化的工具未必好用。

作为DBA不得不知的5大管理MYSQL的开源免费利器

02

Gh-ost

作为一个DBA,大表的DDL的变更大部分都是使用Percona的pt-online-schema-change,其实还有另外一个比较小巧的工具--gh-ost。gh-ost的设计号称无触发器,可监控,可动态调整暂停等,更重要的是切换方案的优秀设计。

通常业内对大表DDL变更的处理方式无外乎三种,一是利用Percona的pt-online-schema-change,Facebook的OSC等三方工具,二是在备库修改通过切换实现滚动变更,三则是升级MySQL到5.6/5.7通过官方Online DDL实现部分变更。然而,引入触发器带来的锁竞争问题,主备切换带来的附加成本以及Online DDL的局限性都不让DBA省心。

那么gh-ost是怎么工作的呢?官方架构图如下:

作为DBA不得不知的5大管理MYSQL的开源免费利器 

其有两种工作方式如下:

1. 连接主库直接修改

  • 直连主库
  • 主库上创建ghost表
  • 新表(ghost表)上直接alter修改表结构
  • 迁移原表数据到新表
  • 拉取解析binlog事件,应用到新表
  • cut-over阶段,用新表替换掉原表

2. 连接从库间接应用到主库

连接从库校验完后,在主库创建新表迁移原表数据到新表模拟从库的从库,拉取解析增量binlog应用到主库cut-over阶段,用新表替换掉原表两者不同的点就在于,通过连接从库来进行变更,对主库的性能影响最小。

03

PhpMyAdmin

资历最老并且最成熟的WEB版MySQL工具。允许数据库运维人员通过浏览器对数据表进行操作。而且具有丰富的格式来展示数据。

作为DBA不得不知的5大管理MYSQL的开源免费利器 

能够动态地将问题、连接数/进程、流量绘制成图形。并且检测当性能下降时自动提供解决建议的功能。

作为DBA不得不知的5大管理MYSQL的开源免费利器

04

Sqlcheck

在MySQL的反模式中,有兴趣的同学可以看下相关资料(SQL anti-patterns)。

作为DBA不得不知的5大管理MYSQL的开源免费利器 

SqlCheck能将够定位的问题分为3类,高风险,中风险,低风险。这个能帮助列出哪些是最影响你效率的问题。你所要做的就是将文件名称当作参数输入到工具中。

05

Orchestrator

orchestrator是一款非常实用的数据复制管理工具。它能够通过抓取数据库主从关系来生成拓扑图。并且可以通过拖拉拽的方式来重构你的数据库关系。这些操作非常安全,不会因为非法操作来损坏数据库。

***,orchestrator能够恢复当其中的节点发生故障,它应用了状态的概念来正确的恢复并且在适当的时候与主库进行连接。

作为DBA不得不知的5大管理MYSQL的开源免费利器

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2018-03-01 10:30:11

MYSQL开源数据库

2011-08-11 10:47:23

2011-03-31 10:46:54

LinuxCLI软件

2010-08-27 10:40:55

Android

2016-03-30 09:56:37

5G

2017-08-16 18:03:12

Docker安全工具容器

2020-06-04 13:52:00

CRM选型

2017-11-02 06:51:38

5G移动网络技术

2020-09-22 08:16:20

软件开发原则

2022-08-30 23:54:42

MySQL数据库工具

2019-07-17 10:55:40

Kubernetes工具Katacoda

2011-05-11 14:58:50

网站策划运营

2015-08-17 11:46:07

云计算云服务公有云

2020-10-21 09:36:40

Vue项目技巧

2011-06-24 11:48:46

SEO

2020-07-09 12:50:29

JVM内存管理Java

2017-08-10 16:54:47

MySQL优化MySQL

2019-03-19 09:39:43

MySQL索引优化

2023-12-04 08:01:05

2023-01-13 16:08:55

点赞
收藏

51CTO技术栈公众号