如何监听数据库的新增mysql,数据库创建监听

本文目录一览:

如何监控mysql表记录变化

本期我们用 MySQL 提供的 DBUG 工具来研究 MySQL 的 SQL 处理流程。

起手先造个实例

这里得稍微改一下实例的启动文件 start,将 CUSTOM_MYSQLD 改为 mysqld-debug:

重启一下实例,加上 debug 参数:

我们来做一两个实验,说明 DBUG 包的作用:

先设置一个简单的调试规则,我们设置了两个调试选项:

d:开启各个调试点的输出

O,/tmp/mysqld.trace:将调试结果输出到指定文件

请点击输入图片描述

然后我们创建了一张表,来看一下调试的输出结果:

请点击输入图片描述

可以看到 create table 的过程中,MySQL 的一些细节操作,比如分配内存 alloc_root 等

这样看还不够直观,我们增加一些信息:

请点击输入图片描述

来看看效果:

请点击输入图片描述

可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存,是为了解析 SQL 时用的(mysql_parse)

我们再增加一些有用的信息:

请点击输入图片描述

可以看到结果中增加了文件名和行号:

请点击输入图片描述

现在我们可以在输出中找一下统计表相关的信息:

请点击输入图片描述

可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表。

沿着 que_eval_sql,可以找到其他类似的统计表,比如下面这些:

请点击输入图片描述

请点击输入图片描述

本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。

这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。

监听mysql数据库改变

如果是当前用户通过IE增加了一条记录到数据库中,增加成功了,你就把对应数据查询出来就可以了啊,如果是其他用户增加,则只能刷新哦

用软件增加了一条数据到mysql,是否用PHP可以监控到增加了数据呢

可以用脚本来实现;

思路:

1.创建一个ceshi.txt文件,内容是数据库内数据数量;

2.脚本内容查询数据库数量,读取并更新ceshi.txt内的数量,判断查询出的数量大于ceshi.txt内的数量就是新增,小于就是删除,并执行php程序;

如何使cacti监控mysql服务器

cacti监控mysql数据库的方法

环境:

Cactiez或者cacti主机:192.168.12.5

被监控mysql数据库主机:192.168.5.231

1. 安装监控插件

cd /opt

tar -xzvf mysql-cacti-templates-1.1.2.tar.gz

cp /opt/mysql-cacti-templates-1.1.2/ss_get_mysql_stats.php /var/www/html/scripts/

其实里面我们要监控mysql用到的是:acti_host_template_x_db_server_ht_0.8.6i.xml和mysql_definitions.pl

其他则是监控Apache和Nginx的,接下来我们会介绍到,这里不再详细的讲了。

chown -R apache.apache /var/www/html/scripts

chmod -R 755 /var/www/html/scripts

使用 http 访问 cacti主机 导入

/opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml

默认CactiEZ 和Cacti别是 admin admin

控制台 – 导入导出 – 模板导入 – 浏览

选中 cacti_host_template_x_db_server_ht_0.8.6i.xml

保存

2. 配置cacti的mysql插件

修改 ss_get_mysql_stats.php

vi /var/www/html/scripts/ss_get_mysql_stats.php

$mysql_user = ‘cacti’;

$mysql_pass = ‘cacti’;

$cache_dir = “/tmp/cacti/cache/”;

这个账户和密码是 被监控端主机 给 Cacti主机 授权的 账户和密码

Cacti需要这个账户和密码去连接 被监控机 查询状态

mkdir -p /tmp/cacti/cache

chown -R apache.apache /tmp/cacti

chmod -R 755 /tmp/cacti

设置 cacti 缓存目录在 /tmp/cacti/cache/ 并给予权限

3. 配置被监控端(192.168.5.231)的mysql 给 cacti 主机授权

mysql -uroot -p

grant process,super on *.* to ‘cacti’@’192.168.12.5’ identified by ‘cacti’;

exit

grant process,super on *.* to ‘账户’@’Cacti主机IP地址’ identified by ‘密码’;此命令意义

只允许IP为 192.168.12.5 的主机 以账户 cacti 密码 cacti 去访问 本机数据

4. 在Cacti主机上(192.168.12.5) 监控Mysql

4.1 为主机添加mysql模块

控制台 – 管理 – 设备 – 选中之前创建好的主机

然后移到最下面的 添加图形模版 选中 Mysql相关模块 然后保存

4.2 为mysql模块创建图形

控制台 – 创建 – 创建图形 – 选中该主机 – 选中mysql模块 – 创建

4.3 插件mysql性能数据

监视器 – 选中该主机 – 查阅对应的mysql

完毕

—–一些数据库操作语句

mysqld_safe –user=mysql

mysql -uroot -p

mysql -uroot -proot

grant ALL PRIVILEGES ON *.* to ‘root’@”%” identified by “root” WITH GRANT OPTION;

exit

grant select,insert,update,delete on cacti.* to ‘cacti’@”*”identified by “cacti”;

exit

grant process,super on *.* to ‘cacti’@’%’ identified by ‘cacti’;

grant all privileges on cacti.* to ‘cacti’@”%” identified by “cacti”;

客户端开启Cacti访问本机mysql的权限

grant process,super on *.* to ‘cacti’@’192.168.12.5’ identified by ‘cacti’;

grant process,super on *.* to ‘cacti’@’192.168.5.231’ identified by ‘cacti’;

= = = = =

mysql -ucacti -pcacti -h 192.168.5.231

如何实现实时监控mysql数据库主从同步的状态

1、增加一个用户同步使用的帐号:

GRANT FILE ON *.* TO ‘backup’@’10.10.8.112′ IDENTIFIED BY ‘1234’;

GRANTREPLICATION SLAVE ON *.* TO ‘backup’@’10.10.8.112′ IDENTIFIED BY ‘1234’;

赋予10.10.8.112也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权

限才可以。

2、增加一个数据库作为同步数据库:

create databbse test;

3、创建一个表结构:

create table mytest (username varchar(20),password varchar(20));

4、修改配置文件:

修改A的/etc/my.cnf文件,在my.cnf配置项中加入下面配置:

server-id = 1 #Server标识

log-bin

binlog-do-db=test #指定需要日志的数据库

5、重起数据库服务:

service mysqld restart

查看server-id:

show variable like ‘server_id’;

实例:

mysql show variables like ‘server_id’;

+—————+——-+

| Variable_name | Value |

+—————+——-+

| server_id | 1 |

+—————+——-+

1 row in set (0.00 sec)

6、用show master status/G命令看日志情况。

正常为:

mysql show master status/G

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/308702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28
  • MySQL bigint与long的区别

    本文将从数据类型定义、存储空间、数据范围、计算效率、应用场景五个方面详细阐述MySQL bigint与long的区别。 一、数据类型定义 bigint在MySQL中是一种有符号的整…

    编程 2025-04-28
  • Python怎么导入数据库

    Python是一种高级编程语言。它具有简单、易读的语法和广泛的库,让它成为一个灵活和强大的工具。Python的数据库连接类型可以多种多样,其中包括MySQL、Oracle、Post…

    编程 2025-04-28
  • MySQL左连接索引不生效问题解决

    在MySQL数据库中,经常会使用左连接查询操作,但是左连接查询中索引不生效的情况也比较常见。本文将从多个方面探讨MySQL左连接索引不生效问题,并给出相应的解决方法。 一、索引的作…

    编程 2025-04-28

发表回复

登录后才能评论