名称

详情

开源数据看工具汇总

https://gitee.com/explore/dbmanager?page=2

### 1 Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的 MySQL 运维功能:

https://gitee.com/rtttte/Archery

### 2 Exchangis是微众银行开源的轻量级数据交换平台,用于数据在不同存储介质中快速传递,并解决数据交换过程中面临的复杂性、兼容性等问题。设计上采取微服务架构形态,上下层服务松耦合,易于进行个性化的,高拓展性的迭代开发

https://gitee.com/WeBank/Exchangis#%E7%95%8C%E9%9D%A2%E9%A2%84%E8%A7%88

Yearning

官网地址:https://guide.yearning.io/install.html

参考地址:https://www.cnblogs.com/dalianpai/p/12513458.html

Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!

![](/uploads/mysql/images/m_cd2d1069ea3324a64597e55743247a86_r.png)

### 1 开源地址

https://gitee.com/cookieYe/Yearning

### 2 功能介绍

1. SQL查询查询导出查询自动补全

2. SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚

3. 历史审核记录

4. 查询审计

5. 推送E-mail工单推送钉钉webhook机器人工单推送

6. 其他LDAP登陆用户权限及管理拼图式细粒度权限划分(共12项独立权限,可随意组合)

### 3 dashboard

dashboard主要展示Yearning各项数据包括用户数/数据源数/工单数/查询数以及其他图表,个人信息栏内用户可以修改密码/邮箱/真实姓名,同时可以查看该用户权限以及申请权限

mysql-Utilities官网辅助工具

MySQL Utilities是MySQL官方提供的mysql管理辅助工具,工具非常之多,其功能组件:

```yaml

Binary Log Operations(二进制日志操作)

mysqlbinlogmove 二进制日志移动

mysqlbinlogpurge 二进制日志清理

mysqlbinlogrotate 二进制日志老化工具

Database Operations(数据库操作)

mysqldbexport 数据导出

mysqldbimport 数据导入

mysqldbcopy 库级别数据库复制

mysqldiff 数据库对象级别比较工具

mysqldbcompare 数据库库级别比较工具

General Operations(通用用的操作)

mysqldiskusage 磁盘空间查看

mysqlfrm 恢复故障表.frm文件

mysqluserclone 用户克隆工具

mysqluc Utilities帮助工具

mysqlindexcheck 索引检测工具

mysqlmetagrep 元数据过滤器

mysqlprocgrep 进程搜索及清理工具

High Availability Operations(高可用)

mysqlreplicate 主从复制工具

mysqlrpladmin 主从复制管理工具

mysqlrplcheck 主从复制检测工具

mysqlrplms 主从多元复制工具

mysqlrplshow 主从复制拓扑图工具

mysqlrplsync 主从复制同步工具

mysqlfailover 主从failover工具

mysqlslavetrx 从库事务跳过工具

Server Operations(服务器操作)

mysqlserverinfo 服务器信息查看工具

mysqlserverclone 服务器克隆工具

Specialized Operations(特殊操作)

mysqlauditadmin 审计管理工具

mysqlauditgrep 审计日志过滤工具

```

### 2 下载安装:

#### 2.1 下载

```yaml

wget https://downloads.mysql.com/archives/get/file/mysql-utilities-1.6.4.tar.gz

##通过编译安装方式,如果需要其它安装方式,自行到官网下载相应的安装包

```

#### 2.2 解压

```yaml

tar -zxvf mysql-utilities-1.6.4.tar.gz

cd mysql-utilities-1.6.4/

```

#### 2.3 查看目录

```yaml

ls -al

total 148

drwxr-xr-x. 4 root root 4096 Sep 22 16:54 build

-rw-r--r--. 1 7161 31415 35275 Aug 1 2016 CHANGES.txt

drwxr-xr-x. 3 7161 31415 4096 Aug 2 2016 docs

-rw-r--r--. 1 7161 31415 6680 Aug 1 2016 info.py

-rw-r--r--. 1 root root 5579 Sep 22 16:54 info.pyc

-rw-r--r--. 1 7161 31415 17987 Aug 1 2016 LICENSE.txt

drwxr-xr-x. 4 7161 31415 4096 Sep 22 16:54 mysql

-rw-r--r--. 1 7161 31415 928 Aug 2 2016 PKG-INFO

-rw-r--r--. 1 7161 31415 34819 Aug 1 2016 README.txt

drwxr-xr-x. 2 7161 31415 4096 Sep 22 16:54 scripts

-rw-r--r--. 1 7161 31415 14232 Aug 1 2016 setup.py

drwxr-xr-x. 2 7161 31415 4096 Aug 2 2016 unit_tests

```

### 3 安装过程

```yaml

python ./setup.py build

python ./setup.py install

```

###到这里说明已经安装完毕,安装前如果自己的机器上没有安装python工具,请自行安装

数据库对比工具_mysqldbcompare

### 1 安装

mysqldbcompare是MySQL Utilities中的一个脚本,默认的MySQL不包含工具集,所以需要独立安装。

Linux系统在下载页面选择对应发行版。

### 2 语法

mysqldbcompare的语法如下:

```yaml

mysqldbcompare --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1:db2

```

以上参数中:

- --server1:MySQL服务器1配置。

- --server2:MySQL服务器2配置。如果是同一服务器,--server2可以省略。

- db1:db2:要比较的两个数据库。如果比较不同服务器上的同名数据库,可以省略:db2。

- --all:比较所有两服务器上所有的同名数据库。--exclude排除无需比较的数据库。

- --run-all-tests:运行完整比较,遇到第一次差异时不停止。

- --changes-for=:修改对象。例如--changes-for=server2,那么对比以sever1为主,生成的差异的修改也是针对server2的对象的修改。

- -d DIFFTYPE,--difftype=DIFFTYPE:差异的信息显示的方式,有[unified|context|differ|sql],默认是unified。如果使用sql,那么就直接生成差异的SQL,这样非常方便。

- --show-reverse:在生成的差异修改里面,同时会包含server2和server1的修改。

- --skip-table-options:保持表的选项不变,即对比的差异里面不包括表名、AUTO_INCREMENT、ENGINE、CHARSET等差异。

- --skip-diff:跳过对象定义比较检查。所谓对象定义,就是CREATE语句()里面的部分,--skip-table-options是()外面的部分。

- --skip-object-compare:默认情况下,先检查两个数据库中相互缺失的对象,再对都存在对象间的差异。这个参数的作用就是,跳过第一步,不检查相互缺失的对象。

- --skip-checksum-table:数据一致性验证时跳过CHECKSUM TABLE。

- --skip-data-check:跳过数据一致性验证。

- --skip-row-count:跳过字段数量检查。

### 3 示例

比较两个数据库,并生成差异SQL:

```yaml

mysqldbcompare --server1=root:root@localhost --server2=root:root@localhost db1:db2 --changes-for=server1 -a --difftype=sql

```

```yaml

# WARNING: Objects in server1.db1 but not in server1.db2:

# TABLE: table2

#

# WARNING: Objects in server1.db2 but not in server1.tb1:

# TABLE: table

#

# Defn Row Data

# Type Object Name Diff Count Check

#-------------------------------------------------------------------------

# TABLE t1 pass pass -

# - Compare table checksum FAIL

# - Find row differences FAIL

#

# Transformation for --changes-for=server1:

#

# Data differences found among rows:

UPDATE db1.t1 SET b = 'Test 123' WHERE a = '1';

UPDATE db1.t1 SET b = 'Test 789' WHERE a = '3';

DELETE FROM db1.t1 WHERE a = '4';

INSERT INTO db1.t1 (a, b) VALUES('5', 'New row - db2');

# Database consistency check failed.

#

# ...done

```

- WARNING之后提示两个数据库表之间的差异,也就是一个数据库中有,另一个数据库没有的数据表。

- 之后就是差异的SQL语句了,把有#号注释的行删掉,就能直接在数据库中执行了。

- 说明:执行MySQL语句时可能会遇到这样错误:Error 1054 - Unknown column 'name' in 'aspect'

- 这是因为mysqldbcompare生成的ALTER语句中,用逗号,拼装了多条ADD、CHANGE等语句,如果这些语句还包含AFTER关键字,就会提示这个错误并中断执行MySQL语句。解决的办法就是:去除AFTER及其后面的条件。

dtle同步工具

### 1 dtle同步工具

![](/uploads/mysql/images/m_01f1a40f20703f1f7774c8ce9089fd47_r.png)

官网地址:https://actiontech.github.io/dtle-docs-cn/0/0_overview.html

databasir数据库元数据管理平台

## databasir

[TOC]

是面向团队的关系型数据库元数据管理平台,旨在通过自动化的方式解决数据模型管理过程中维护成本高、内容更新不及时以及团队协作复杂等问题。

### 1 官网地址

https://doc.databasir.com/guid/index/

PDManer元数建模

## PDManer元数建模

[TOC]

PDManer元数建模,是一款多操作系统开源免费的桌面版关系数据库模型建模工具,相对于PowerDesigner,他具备界面简洁美观,操作简单,上手容易等特点。支持Windows,Mac,Linux等操作系统,也能够支持国产操作系统。

### 1官网

https://gitee.com/robergroup/pdmaner

阿里云rds同步到aws-rds报错bin_log

## 阿里云rds同步到aws-rds报错bin_log

[TOC]

### 1 报错

```yaml

You do not have the SUPER privilege and binary logging is enabled (you might want to to use the less safe log_bin_trust_function_creators variable)

```

经查询,是log_bin_trust_function_creators值为off导致,因为Table中有Trigger,如果不创建Trigger,不会出现这样的错误信息,但Trigger必须创建,在网络查询解决方案,是如下的办法:

### 2 具体修改配置

#### 2.1 mysql命令行设置:

set global log_bin_trust_function_creators=1;

#### 2.2 或者在参数组添加

log_bin_trust_function_creators = 1

![](/uploads/mysql/images/m_0fe3b7708d528cda769de8510f1dd60a_r.png)

DataGear开源免费的数据可视化分析平台

## DataGear开源免费的数据可视化分析平台

[TOC]

### 1 官网地址

http://www.datagear.tech/quickstart/

DataGear是一款开源免费的数据可视化分析平台,自由制作任何您想要的数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源。

系统主要功能包括:数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。

#### 1.1 系统特点:

- 友好接入的数据源

- 支持运行时接入任意提供JDBC驱动的数据库,包括MySQL、Oracle、PostgreSQL、SQL Server等关系数据库,以及Elasticsearch、ClickHouse、Hive等大数据引擎。

- 多样动态的数据集

- 支持创建SQL、CSV、Excel、HTTP接口、JSON数据集,并可设置为动态的参数化数据集,可定义文本框、下拉框、日期框、时间框等类型的数据集参数,灵活筛选满足不同业务需求的数据。

- 强大丰富的数据图表

- 数据图表可聚合绑定多个不同格式的数据集,轻松定义同比、环比图表,内置折线图、柱状图、饼图、地图、雷达图、漏斗图、散点图、K线图、桑基图等70+开箱即用的图表,并且支持自定义图表配置项,支持编写和上传自定义图表插件。

- 自由开放的数据看板

- 数据看板采用原生的HTML网页作为模板,支持导入任意HTML网页,支持以可视化方式进行看板设计和编辑,也支持使用JavaScript、CSS等web前端技术自由编辑看板源码,内置丰富的API,可制作图表联动、数据钻取、异步加载、交互表单等个性化的数据看板。

教程

教程1:

https://blog.csdn.net/weixin_34430692/article/details/113654438?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.pc_relevant_default&spm=1001.2101.3001.4242.2&utm_relevant_index=3

教程2:

https://blog.51cto.com/chenql/1903187

教程3:

https://blog.51cto.com/u_15077561/4293045