
数据库
文章平均质量分 72
翔云123456
这个作者很懒,什么都没留下…
展开
-
binlog 解析工具——my2sql
my2sql是一款基于 Go 语言开发的 MySQL binlog 解析工具,支持从二进制日志(binlog)中生成原始 SQL、回滚 SQL(闪回 SQL)、去除主键的 INSERT SQL 等,还能生成 DML 操作统计信息。数据快速回滚(闪回):通过逆向解析 binlog 生成反向 SQL,恢复误删除或误修改的数据。主从数据一致性修复:主从切换后新主库数据丢失时,通过 binlog 恢复数据。生成标准 SQL 与统计信息:用于审计、数据迁移,或分析高频更新表、大事务及主从延迟问题。原创 2025-05-25 15:43:18 · 805 阅读 · 0 评论 -
Buffer Pool如何进行预热
在 MySQL 中,Buffer Pool 预热(Warm-Up) 是指将数据库重启后需要高频访问的数据页提前加载到内存中,以减少冷启动时因磁盘 I/O 导致的性能下降原创 2025-04-27 07:00:00 · 604 阅读 · 0 评论 -
Buffer Pool是什么,有什么作用
在 MySQL 的 InnoDB 存储引擎中,Buffer Pool(缓冲池) 是 内存中的核心组件,负责缓存表数据、索引和其他 InnoDB 相关的数据结构。原创 2025-04-26 21:58:00 · 647 阅读 · 0 评论 -
聚簇索引是否会全部加载到内存
在 MySQL 的 InnoDB 存储引擎中,聚簇索引的数据不会全部加载到内存中。原创 2025-04-27 06:30:00 · 260 阅读 · 0 评论 -
关于聚簇索引
聚簇索引(Clustered Index)是 一种将数据行物理存储顺序与索引键值逻辑顺序紧密结合的索引结构。在 MySQL 的 InnoDB 引擎中,聚簇索引直接决定了表中数据的物理排列方式,因此每个表有且只有一个聚簇索引。原创 2025-04-26 21:53:45 · 333 阅读 · 0 评论 -
MySQL二进制日志格式有哪几种
在 MySQL 中,二进制日志(Binary Log)的格式决定了主库如何记录数据的变更事件,并直接影响复制的行为和一致性。通过合理选择二进制日志格式,可以优化 MySQL 的复制性能和数据一致性。如果对数据一致性要求极高,建议始终使用。:记录数据行的实际变更(修改前/后的行数据),而非 SQL 语句。等),从库通过重放这些 SQL 语句实现数据同步。以下是每种格式的详细说明及其事务的事件组成。二进制日志中会记录完整的 SQL 语句。:记录实际执行的 SQL 语句(如。的行数据变更前后的值(如旧值。原创 2025-03-18 22:50:11 · 1092 阅读 · 0 评论 -
SQL中 的exists用法
EXISTS 是 SQL 中的一个子查询条件,用于检查子查询是否返回任何行。如果子查询返回至少一行,则 EXISTS 返回 TRUE。原创 2025-02-08 21:45:42 · 628 阅读 · 0 评论 -
MySQL中DDL操作是否支持事务
MySQL中DDL不支持事务。原创 2025-02-08 21:39:31 · 471 阅读 · 0 评论 -
如何限制SQL的执行时间(max_execution_time)
在MySQL中,max_execution_time是一个系统变量,用于限制SQL语句的最大执行时间。当一个查询的执行时间超过这个设置的阈值时,MySQL会尝试终止并停止该查询的执行。这个功能主要用于防止某些查询因为执行时间过长而占用过多的系统资源,从而影响数据库的整体性能和响应时间。原创 2025-01-18 11:32:52 · 837 阅读 · 0 评论 -
kill SQL (pt-kill工具)
pt-kill是Percona Toolkit工具集中的一个工具,用于监控MySQL查询并根据指定的条件自动终止长时间运行的查询。这个工具非常有用,特别是在需要管理和控制数据库资源使用,防止长时间运行的查询占用过多资源,影响数据库性能的情况下。原创 2025-01-18 11:32:32 · 430 阅读 · 0 评论 -
在MySQL 主库上进行自动清理 purged gtid 时,会等待 binlog复制到从库吗
在MySQL中,自动清理purged GTID的过程确实会考虑到binlog是否已经复制到从库。原创 2024-12-25 22:21:52 · 599 阅读 · 0 评论 -
errant是怎么产生的
在MySQL中,errant GTID(错误GTID)是指在从库上存在但在主库上不存在的GTID。这通常是由于在从库上执行了不应存在的事务或在主库上未能正确复制的事务所导致的。原创 2024-12-25 22:10:47 · 500 阅读 · 0 评论 -
MySQL purged gtid是如何生成和维护的
在MySQL中,gtid_purged表示已清除的GTID集合。原创 2024-12-24 22:57:01 · 548 阅读 · 0 评论 -
MySQL中Seconds_Behind_Master是怎么计算的
在MySQL中,Seconds_Behind_Master是一个用于表示从库(Slave)落后于主库(Master)的时间(以秒为单位)的指标。原创 2024-12-24 22:48:06 · 1232 阅读 · 0 评论 -
raft: Failed to contact
一个分布式服务是基于raft分布式协议开发的,在一个新版本上线后,出现了Leader比较频繁的漂移问题。原创 2024-12-21 23:11:15 · 1045 阅读 · 0 评论 -
MySQL 怎么不丢数据(关于开启双1配置)
在MySQL中,"双1"配置指的是将innodb_flush_log_at_trx_commit设置为1和sync_binlog设置为1。这两个设置都与数据的持久性和一致性有关,特别是在面对系统崩溃或意外重启的情况下。使用"双1"配置可以最大限度地保证MySQL数据库在面对系统崩溃或电源故障等情况时的数据安全和一致性。即使在这些极端情况下,也能确保所有已提交的事务不会丢失。原创 2024-11-18 23:00:00 · 896 阅读 · 0 评论 -
executed_gtid_set 与 purged_gtid_set
executed_gtid_set 和 purged_gtid_set 是 MySQL 复制中与 GTID(全局事务标识符)相关的两个重要概念。原创 2024-11-18 22:30:00 · 341 阅读 · 0 评论 -
数据库的隔离级别
数据库的隔离级别主要有四种,从低到高依次是:1. 读未提交(Read Uncommitted)2. 读已提交(Read Committed)3. 可重复读(Repeatable Read)4. 串行化(Serializable)原创 2024-10-05 17:25:57 · 1098 阅读 · 0 评论 -
TiDB中的PD--元数据管理和调度中心
TiDB 的 PD(Placement Driver)组件是整个分布式数据库系统的关键部分,是整个集群的元数据管理和调度中心,负责存储集群的元数据和进行 Region 调度。通过这些功能,PD 为 TiDB 集群提供了数据的一致性保证、高可用性、负载均衡以及事务的时间戳服务,是整个 TiDB 分布式数据库系统能够高效、稳定运行的关键组件。原创 2024-05-01 23:31:02 · 918 阅读 · 1 评论 -
离线数据同步工具DataX
DataX是阿里巴巴开源的一款数据同步工具,使用Java语言开发的。它提供了从各类数据源读取数据以及向各类数据源写入数据的功能,支持包括MySQL、Oracle、SQLServer、PostgreSQL、HDFS、HBase、MaxCompute(原ODPS)等众多数据源。DataX主要应用于离线数据同步,可以实现异构数据源之间的数据迁移。DataX的GitHub地址是:https://github.com/alibaba/DataX。原创 2024-04-05 22:46:47 · 990 阅读 · 0 评论 -
Innodb_rows_inserted 陡增
最近遇到一个奇怪的问题,`Innodb_rows_inserted`指标出现增长异常。原创 2024-02-04 10:36:27 · 725 阅读 · 0 评论 -
关于MySQL Cluster
MySQL Cluster是MySQL的一个高可用性,高性能的分布式数据库解决方案。它结合了内存数据库和共享无状态架构的技术,提供了99.999%的可用性,满足严格的高可用性需求。原创 2024-01-01 08:30:00 · 1185 阅读 · 0 评论 -
关于数据库归档
本文主要介绍数据库归档基本概念和目的,以及对于MySQL来说,有哪些归档工具。原创 2023-12-31 23:24:45 · 1192 阅读 · 0 评论 -
如何备份和恢复数据库
本文主要介绍如何使用xtrabackup 进行数据库的备份和恢复,并在最后介绍了原理。原创 2023-10-03 20:59:45 · 617 阅读 · 1 评论 -
DTS Data Transfer Service 数据传输服务是什么
例如,阿里云的DTS、AWS 的Database Migration Service、Azure 的Database Migration Service 和 Google Cloud 的 Database Migration Service,一些云服务提供商,如阿里云、AWS、Azure和Google Cloud,都提供了自己的DTS服务,以帮助用户在云环境中进行数据库迁移。DTS通常支持多种源数据库和目标数据库之间的数据迁移,如MySQL、PostgreSQL、Oracle、SQL Server等。原创 2023-09-23 21:32:49 · 804 阅读 · 0 评论 -
业界都有哪些数据库监控工具
这些工具都可以帮助用户实时监控数据库的运行状态、性能指标、系统负载等信息,从而帮助用户更好地管理和维护数据库。不同公司可能会根据自身需求和预算选择合适的监控工具。本文主要介绍下数据库监控工具。原创 2023-08-27 15:59:29 · 1642 阅读 · 0 评论 -
数据库备份工具有哪些
本文主要介绍下数据库备份工具。数据库备份工具有很多种,以下是一些常见的数据库备份工原创 2023-08-27 15:36:49 · 1625 阅读 · 0 评论 -
浅谈数据库分库分表
数据库的分库分表解决方案需要根据实际业务需求和技术栈进行评估,合适才是最重要的。在实施分库分表时,还需要考虑数据迁移、数据一致性、事务处理等问题。原创 2023-07-29 22:48:32 · 1298 阅读 · 0 评论 -
MySQL HA(High Availability) 数据库高可用工具Orchestrator安装
本文主要介绍如何在本地安装 MySQL HA(High Availability) 数据库高可用工具Orchestrator。原创 2023-01-24 19:39:34 · 1656 阅读 · 0 评论 -
PolarDB-X 分布式数据库初体验
分布式数据库,是相对于单体数据库而言的,简单的说,分布式数据库就是用分布式架构实现的数据库。当前分布式数据库可以分为三个技术方向,一是以 DRDS、TDSQL 等为代表的 Sharding 技术,其最大的优势在于继承了 MySQL 存储多年的的技术积累;原创 2022-11-30 23:37:14 · 1723 阅读 · 0 评论 -
MySQL基本授权grant操作
本文介绍MySQL权限的基本操作。授权MySQL用户包括user和host两部分。user与host是一起出现的,即权限指的是某个用户在某个主机或某些主机上的权限。首先,创建用户:mysql> CREATE USER 'root'@'%' IDENTIFIED by 'mysql123456';接着,授权权限:mysql> GRANT ALL on *.* to 'r...原创 2020-03-29 22:01:01 · 1691 阅读 · 0 评论 -
sql如何找到某字段的最大值所在行
首先,查找某字段的最大值select max(weight) from apple;7888接着,根据最大值,查找其所在行select * from apple where weight =7888;原创 2017-03-12 21:30:52 · 57863 阅读 · 7 评论 -
mysqldump 如何导出表的部分数据
数据表记录很多,如果只需要导出最近的1000条,如何实现呢?1. 查看记录情况首先查看数据表记录的最大id,这样可以获悉表记录的大体情况。mysql>select id from apple order by id desc LIMIT 1;假设得到结果:98802. 设置where选项接着,使用mysqldump的”where”选项设置导出哪些记录。$ mysqldump -h192.168.18原创 2017-02-19 18:51:32 · 5493 阅读 · 0 评论 -
"Field 'id' doesn't have a default value"
问题:前端POST请求到达,后台报错,错误信息如下; (1364, “Field ‘id’ doesn’t have a default value”)原因:orange表的主键字段id没有设置自增属性。解决办法:为主键字段id添加自增属性:ALTER TABLE orange CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT ;原创 2017-03-18 21:29:20 · 576 阅读 · 0 评论 -
mysql常用命令
连接MYSQL:格式: mysql -h主机地址 -u用户名 -p用户密码例1:连接到本机上的MYSQL$ mysql –u root mysql>例2:连接到远程主机上的MYSQL$ mysql -h192.168.1.198 -uroot -p123 退出MYSQ mysql> exit; 修改密码:格式:mysqladmin -u用户名 -p旧密码 password 新密码原创 2016-09-04 20:29:42 · 658 阅读 · 0 评论 -
sql如何查询表的第一条记录和最后一条记录
问题: sql如何查询表的第一条记录和最后一条记录方法一:使用topselect TOP 1 * from apple;select TOP 1 * from apple order by id desc;(备注:top是Access的语法,MySQL不支持)方法二:使用LIMIT第一条记录mysql> select * from apple LIMIT 1;默认升序,等价于mysql> sele原创 2017-02-19 17:52:24 · 96086 阅读 · 5 评论 -
sql 数据库表如何添加字段
在数据表testa中id字段之后添加name字段:ALTER TABLE `test`.`testa` ADD COLUMN `name` VARCHAR(45) NOT NULL DEFAULT '' AFTER `id`;另外,MySQL workbench是一款非常好用的数据库操作工具,使用中可以查看到操作对应的sql语句。MySQL workbench下载地址: MySQL workbe原创 2017-02-19 17:06:21 · 20096 阅读 · 2 评论 -
sqlite database browser
使用sqlite database browser 添加一条记录时Error adding record, make sure a table is selected.原创 2014-11-20 19:06:05 · 2298 阅读 · 1 评论 -
sqliteman安装错误
安装sqliteman时,cmake-- Qt4libs:/usr/lib/x86_64-linux-gnuCMake Error at cmake/modules/FindQScintilla.cmake:53 (MESSAGE): Could not find QScintilla libraryCall Stack (most recent call原创 2014-11-20 19:45:06 · 2676 阅读 · 0 评论 -
Linux下SQLite数据库安装操作与编程
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-6-20//---------------------------------------------------- 环境Linux 操作系统: Fedora 16内核:3.1sq原创 2012-06-20 17:32:11 · 6425 阅读 · 0 评论