【MySQL】MySQL监控工具 mysql-monitor

135 篇文章 455 订阅 ¥29.90 ¥99.00
mysql-monitor是一款Java Spring Boot项目,集成了MySQL监控和优化功能。它包括数据库列表、详情、表列表和详情页面,以及SQL分析界面。该项目旨在帮助开发人员分析SQL性能和表结构,提供自动优化建议,实现MySQL运维一体化。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.概述

mysql-monitor MYSQL 监控工具,优化工具,各种工具为一体的java spring boot 项目

git地址:https://github.com/lccbiluox2/mysql-monitor.git

2. 代码架构

在这里插入图片描述

3. 后端服务

后端服务的主类是com.neo.MySQLMointorApplication

3.1 后端服务的数据库

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/mysql_monitor?useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username = root
spring.datasource.password = 12345678

这个根据自己的需要进行修改。

SQL运行的脚本在doc/sql/mysql_monitor.sql请先执行建表操作,然后运行主类。

4.前端服务

前端主页面:web-provider/html/database/database-list.html

因为是前后端分离,采用最原始的html+jquery+ajax操作后端并且显示,解决了跨域的问题。直接打开页面即可。

4.1 配置

前端的配置文件如下:web-provider/js/constant.js

//定义几个全局变量
var AppUrl = "http://localhost:8090";//整个页面的请求页面

主要配置后端请求的地址。

5.效果如下

5.1 数据库列表页面

在这里插入图片描述

5.2 数据库详情页面

在这里插入图片描述

5.3 表列表页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02scH5o2-1595137037936)(doc/images/image-20200718132514464.png)]

5.4 表详情页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KPBFeyN8-1595137037938)(doc/images/image-20200718132536443.png)]

5.5 sql分析界面

在这里插入图片描述

后面还会开发更多功能。。。等待中。。

7.目标

最终目标是实现mysql运维监控一体化,而且是只针对MySQL的,其他的数据库不管。主要目标是实现
开发人员以后只需要会用MySQL会用这个工具就行了,自动帮我们分析出表的不好的地方,以及SQL写的不好的地方
让开发人员靠着这个能当一个MySQL DBA

目前想到的功能

  1. SQL 执行优化,开发人员,写了一个SQL,不知道性能好不好,只需要在页面上,点击输入SQL,然后会模拟各种
    执行,并且绘制成表格,显示各种优化的SQL执行。这个要采用Antlr进行词法分析,语法分析。
  2. 自动分析表结构,比如设置了varchar(100),如果你的数据只用了50个字节,那么算出你这个字段损失的空间,磁盘
  3. 自动采样索引形成树形图,展示在页面,让我们对我们建立的索引有个大概的真实样子
  4. 大量的性能监控图
MySQL主从复制是一种常用的数据库复制技术,用于实现数据的备份、读写分离和负载均衡。下面是一种简单的MySQL主从搭建步骤: 1. 确保主服务器和从服务器上都安装了MySQL数据库,并且版本一致。 2. 在主服务器上编辑MySQL配置文件(my.cnf),启用二进制日志功能。在配置文件中添加以下内容: ``` [mysqld] log-bin=mysql-bin server-id=1 ``` `log-bin`参数指定二进制日志文件的名称,`server-id`参数指定主服务器的唯一ID。 3. 重启主服务器使配置生效。 4. 在主服务器上创建一个用于复制的用户,并授予适当的权限。例如,可以使用以下命令创建用户并授予权限: ``` CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip'; FLUSH PRIVILEGES; ``` `slave_ip`是从服务器的IP地址,`password`是用户的密码。 5. 在主服务器上执行以下命令,获取当前二进制日志文件和位置的信息: ``` SHOW MASTER STATUS; ``` 记下输出结果中的文件名和位置信息,稍后在从服务器上配置时会使用。 6. 在从服务器上编辑MySQL配置文件(my.cnf),启用复制功能。在配置文件中添加以下内容: ``` [mysqld] server-id=2 ``` `server-id`参数指定从服务器的唯一ID,与主服务器不同即可。 7. 重启从服务器使配置生效。 8. 在从服务器上执行以下命令,配置从服务器连接到主服务器并开始复制: ``` CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos; ``` `master_ip`是主服务器的IP地址,`replication_user`和`password`是之前创建的复制用户的用户名和密码,`master_log_file`和`master_log_pos`是之前在主服务器上获取的二进制日志文件和位置信息。 9. 启动从服务器上的复制进程: ``` START SLAVE; ``` 10. 在从服务器上执行以下命令,检查复制状态: ``` SHOW SLAVE STATUS\G ``` 如果输出结果中的`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,表示主从复制已成功搭建。 这只是一个简单的MySQL主从搭建步骤,实际环境中可能还需要考虑更多因素,如网络配置、防火墙设置等。具体操作还需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值