MongoDB的审计功能是提升数据库安全性和合规性的关键工具。通过详细记录数据操作,特别是数据删除事件,审计日志可以帮助管理员快速识别潜在的安全威胁,并在必要时采取相应的问责措施。为什么选择 Percona MongoDB 企业版?虽然MongoDB社区版不支持审计功能,但Percona MongoDB企业版(免费开源)提供了这一强大的特性。Percona版本不仅保留了MongoDB的核心功能,还
要想查看 MongoDB 服务器中运行的进程/查询,你需要执行db.currentOp()命令,但该命令返回冗长的 JSON,包括复制线程、系统线程等,排查问题时很是困难。作为一名有 MySQL 背景的 DBA,如果能在 MongoDB 里可以使用 MySQL 的 "show processlist"命令,那将是完美的。mongodb_process_checker工具或许可以帮助你。https:
mongosync 工具可以在两个集群之间持续同步数据,适用于异地机房灾备。 https://www.mongodb.com/zh-cn/docs/cluster-to-cluster-sync/current/工作原理:Mongosync 首先对源数据库进行完整的初始复制。- 全量同步Mongosync 会持续监听源数据库的变更流(Change Stream)- 增量同步如果同步过程中断,它可以
在回答这个问题之前,先了解一下 MySQL InnoDB 存储引擎是如何回收磁盘空间的。假设有一张表包含 1000 万条记录,删除其中的 800 万条记录,此时 InnoDB 的磁盘空间不会自动释放。要回收磁盘空间,需要执行以下命令:ALTER TABLE tableName ENGINE=InnoDB;MongoDB 的 WiredTiger 存储引擎也有类似的行为。要回收磁盘空间,可以执行以下
当谈到技术和资源管理时,确实并非所有事物越大越好,这点尤其在 Docker 镜像的管理上体现得淋漓尽致。随着镜像大小的增加,云存储和运维成本也随之增加。因此,有效地减小 Docker 镜像的尺寸对于降低成本和提高效率至关重要。举例来说,以hcymysql/mysql_slowquery:2024-07-04镜像为例,原始文件大小达到3.53GB。在这种情况下,使用 Docker-slim 工具可以
在拉取镜像时,尤其是当镜像文件较大时,如果遇到网络超时问题,你往往需要从头开始拉取,无法从中断的地方继续。这种情况会耗费大量时间和精力。按照下面的方法设置后,你的工作效率将大大提升,再也不用担心镜像拉取中断的问题。我们以 hcymysql/slowquery:2023-09-13 为测试用例。步骤:编辑 daemon.json 文件:执行以下命令编辑 Docker 的配置文件:vim /etc/d
采用docker.io官方镜像方式 - 俄罗斯1) vim /etc/docker/daemon.json{ "registry-mirrors": ["https://jockerhub.com"]}2) systemctl restart docker3) 把docker.io替换为jockerhub.comdocker pull jocke
只需三步:这里以slowquery(MySQL慢日志平台为例)docker.io/hcymysql/slowquery:2023-09-131)打开网站https://docker.aityp.com/manage/add添加docker.io/hcymysql/slowquery:2023-09-132)你楼下抽根烟的时间,顺便到肯德基买份原味鸡,吃完你再回来3)你直接拉取docker pull
Hatchet(斧头)是一款功能强大的 MongoDB JSON 日志分析工具功能1、会给出目前运行状况和建议2、会列出慢查询3、会列出CRUD各项操作https://github.com/simagix/hatchet安装# git clone --depth 1 https://github.com/simagix/hatchet.git # cd hatchet ; ./build.sh运行
什么是 Valkey(瓦尔基)?根据 https://valkey.io 的解释,Valkey 是一种高性能键值数据存储。它通常与应用程序-数据库堆栈并存,或介于应用程序-数据库堆栈之间,用于缓存和消息队列,甚至可以充当 NoSQL 类型的数据库。Valkey 可作为单个实例或在集群中运行,并提供复制和高可用性选项。安装docker pull valkey/valkey:7.2.5 docker
如何查杀Linux下的僵尸进程?# 人为制造一个僵尸进程(sleep 1 & exec /bin/sleep 10000) 找到僵尸进程ps aux | grep Z | grep -v grep# 指定僵尸进程ID,找出其父进程IDps -o ppid= -p [僵尸进程ID]# 或cat /proc/[僵尸进程ID]/stat# kill掉父进程ID,释放僵尸进程
尽管 MongoDB 现在支持 "高级 "全文解决方案,但只有在使用 Atlas 托管数据时才有效。参考:https://www.mongodb.com/docs/atlas/atlas-search/ https://www.mongodb.com/docs/manual/text-search/ https://www.mongodb.com/docs/manual/r
现在你可以在HTML页面里内嵌Python代码,就像PHP一样。需要安装吗?开玩笑!你不需要安装任何东西。直接引用下面的css和js就OK了。<head> <!-- PyScript CSS --> <link rel="stylesheet" href="https://pyscript.net/releases/2024.1.3/core.css"
通过MongoDB的collection-XXX-wt数据文件,如何得到具体的集合名字?MongoDB的数据文件和MySQL不一样,我们进入数据目录,你会发现如下:[root@centos7-1 collection]# ll -h 总用量 36K -rw------- 1 root root 36K 2月 14 22:05 39--6849722993611617594.wt [root@ce
MongoDB可终止查询过慢的SQL开发在写项目调试时,可以加上maxTimeMS(单位毫秒),当超过指定的时间,MongoDB服务端会自动终止该查询。避免慢SQL消耗更多的CPU,从而影响业务。使用例子:> db.t1.find({"name":"赵七"}).maxTimeMS(1000).pretty()当执行时间超过1秒钟,自动kill掉该查询。
【Clickhouse 映射 MongoDB】- 用标准SQL查询数据(不支持写入)MongoDB上创建一个只读账号use yourDB db.createUser({user:"rd",pwd:"123456",roles:[{role:"read",db:"test"}]})Clickhouse创建映射表CREATE TABLE t1 \ ( \ id UInt64, \
在线的免费 SQL 运行环境,也就是在线数据库。SQL Onlinehttps://sqliteonline.com/可以帮助我们快速运行一些 SQL 语句的测试或者验证,关键不需要自己安装数据库。SQL Online 提供了 MariaDB(MySQL衍生版,SQL语法均兼容)、PostgreSQL、SQLite 以及 SQL Server 数据库环境“File”按钮提供了本地保存和打开功能;“
这个免费工具可以将用于 MySQL、Oracle、Postgresql 或 SQL 服务器的 SQL 查询转换为 MongoDB - NoSQL 查询格式。对于习惯了结构化数据库查询并刚开始学习 MongoDB 的人来说,这是一个非常方便的工具。还提供了浏览和加载输入 SQL 查询以及下载输出 MongoDB 查询的选项。工具地址:https://www.site24x7.com/tools/sq
仓库管理员就像一个服务器,负责接收和处理来自多个客户端的请求。快递员就像一个线程,负责处理一个客户端的请求。仓库管理员会根据客户端的送达地点将快递标记好,然后依次放在一个地方。快递员会依次去取快递,一次拿一个,送好了就回来拿下一个快递。这种方式可以实现单个线程(一个快递员)同时处理多个客户端(多个快递)的请求。具体的解释如下:仓库管理员按送达地点标注好快递,就像服务器将客户端的请求分配到不同的队列
redis_find_bigkey工具 - 自定义阀值查找Redis Big Keyshttps://github.com/hcymysql/redis_find_bigkeyRedis大key是指在Redis中存储的Value值非常大的键,当一个命令需要处理大的键值时,Redis将会花费更多的时间来执行这个命令,这会导致其他客户端发起的命令需要等待更长的时间才能得到响应。在高并发的场景下,这可能
MongoDB 4.2 版本引入了流量控制特性,用于保持副本集多数提交延迟不超过指定的最大值,从而确保数据的一致性和可靠性。如果复制延迟达到"flowControlTargetLagSeconds" : 10(秒),流量控制机制就会开始限制主节点上的写入操作。db.adminCommand( { getParameter : 1, "flowControlTargetLagSeconds" : 1
需求:在不知道表名和字段名的情况下,查找出哪些字段里包含“关键字”的数据。思路1:整库全量dump,按照表名导出txt纯文本格式,然后用grep命令过滤。find ./ -name "*.sql" | xargs grep '金凤凰' >> result.log思路2:用python全量扫描跑批,涉及到varchar的字段都扫一遍。import pymysql from concurr
redis_monitorhttps://github.com/hcymysql/redis_monitor轻便式Redis Monitor面向研发人员图形可视化监控工具,借鉴了LEPUS(天兔)监控平台以及redis-cli info命令输出的监控指标项,去掉了一些不必要看不懂的监控项,目前采集了数据库连接数、QPS、内存使用率统计和同步复制延迟时长。Redis Monitor可以监控单
update_10w循环分批次批量更改数据10万行记录业务方的SQL: UPDATE t1 SET report_status=0 WHERE create_time>'2022-04-28 00:00:00' and create_time<'2022-04-29 00:00:00';这个SQL要改18422654条数据,直接执行会影响业务稳定性,并且造成主从复制延迟。固需要通过脚本
ansible简易版
例:ck2 :) SET allow_experimental_database_materialize_mysql = 1ck2 :) CREATE DATABASE t2 ENGINE = MaterializedMySQL('172.19.136.32:3306', 'test', 'hcy', '123456') 会报错如下信息:Received exception from server
2020年12月3日 开始国内的centos6 yum都失效了 现在只剩搜狐还能用 centos官方也给了一个可以用的yum源 但是网速感人设置yum搜狐源: 1、先备份源文件:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-backup 2、编辑文件:vi /etc/yum.repos.d/CentO
Oplog注意事项 盖子集合(Capped Collections),4.4版本之前的工作机制类似MySQL的Redo log,循环覆盖写。工作原理:1)存1-N增删改记录,写满了自动覆盖最旧的文档,循环写,类似Redo log。2)Secondary在本地找到Oplog同步复制的点为27,发送请求告知Primary从序号28开始同步数据3)Primary在本地搜索到28后,发送之后的数据给Se
简介MongoDB的慢SQL日志是记录到业务库的system.profile表里,当线上DB运行缓慢时,开发通常联系DBA去排查问题,那么可以将这种机械化的工作,做成一个平台化、可视化的工具出来,让开发在网页里点点鼠标即可查看数据库运行状况,这将大大提高工作效率,降低对DBA的依赖。参考了Percona pt-mongodb-query-digest工具抓取分析的展示思路,并用PHP重构,将分析结
简介:借鉴了Percona PMM Grafana以及官方自带的mongostat工具输出的监控指标项,目前采集了数据库连接数、QPS/TPS、内存使用率统计,副本集状态和同步延迟监控。 可实现微信和邮件报警。Github: https://github.com/hcymysql/mongo_monitor
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号