06 2025 档案
摘要:社区版优点1、完全免费。2、完全开源。3、社区活跃。 社区版缺点1、版本管理较麻烦。2、缺乏部署、运维等工具。3、技术问题无人兜底。 发行版优点1、版本管理清晰2、兼容性、稳定性或有提升3、工具丰富4、可购买技术服务 发行版缺点1、企业版要钱2、部分或全部不开源3、部分产品无社区生态可言
阅读全文
posted @ 2025-06-29 00:43
屠魔的少年
摘要:以下参数讲解以社区版2.6.0的参数名和默认值为准(配置文件为:hdfs-default.xml / hdfs-site.xml ) MapReduce 参考链接:http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-
阅读全文
posted @ 2025-06-21 22:12
屠魔的少年
摘要:我们只关注MRv2(MapReduce on YARN)涉及的进程。MRv1的进程管理 (jobtracker,tasktracker)已经过时,我们不需要了解。 YARN进程管理中,NodeManager(NM)的进程比较次要,死掉只需处理 完问题再拉起即可。 ResourceManager(RM
阅读全文
posted @ 2025-06-21 22:12
屠魔的少年
摘要:YARN的设计思想: 1、当Hadoop集群的节点数很多时(一般1000个以上),MRv1机制就面临着性能瓶颈,因为jobtracker的负担过重,且是系统的一个单点。 于是在Hadoop2.x中引入了YARN(Yet Another Resource Negotiator)。 2、YARN将job
阅读全文
posted @ 2025-06-21 22:11
屠魔的少年
摘要:Apache Spark是一个统一的计算引擎和一组用于计算机集群上并行数据处理的库。 目前,Spark是这个领域中最活跃的开源引擎,它是任何对大数据感兴趣的开发人员或数据科学家的标准工具。 Spark支持多种常用编程语言(Python、Java、Scala和R), 包含为不同的任务设计的库,从SQL
阅读全文
posted @ 2025-06-21 22:11
屠魔的少年
摘要:MapReduce是Google提出的一种并行计算框架: Map:映射,对一些独立元素组成的列表的每一个元素进行指定的操作。每个元素都是被独立操作的,而原始列表没有被更改。Map操作是可以高度并行的,这对高性能应用以及并行计算领域的需求非常有用。 Reduce:化简,对一个列表的元素进行适当的合并,
阅读全文
posted @ 2025-06-21 22:10
屠魔的少年
摘要:Impala简介及架构: 1、Impala直接在Apache Hadoop数据中提供快速、交互式SQL查询,这些数据存储在HDFS、HBase或Amazon S3中。 除了使用相同的统一存储平台之外,Impala还与Hive使用相同的元数据、SQL语法(Hive SQL)、ODBC驱动程序和用户界面
阅读全文
posted @ 2025-06-21 22:09
屠魔的少年
摘要:HDFS是Hadoop默认的分布式文件系统,具有以下特点: 1、容忍硬件故障: 将硬件故障视为常态。HDFS通过多副本机制,允许个别节点发生故障而不至于丢失数据,从而可以运行在商用硬件上。 2、流式数据存取: 与常见的文件系统不同,HDFS上运行的应用通常需要对数据集的流式存取。 因而HDFS被设计
阅读全文
posted @ 2025-06-21 22:08
屠魔的少年
摘要:以下参数讲解以社区版2.6.0的参数名和默认值为准 配置文件为: hdfs-default.xml hdfs-site.xml 链接地址:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default
阅读全文
posted @ 2025-06-21 22:07
屠魔的少年
摘要:容量管理 理解HDFS的数据都是以普通文件格式写到DN的本地磁盘。HDFS的已使用容量有多种查看方式,比如NameNode页面(默认端口50070的)、hdfs dfs命令、以及集群管理器页面(如Cloudera CM)。 HDFS总使用容量在80%以下是安全的,超过就需要人工干预。另外也要理解,H
阅读全文
posted @ 2025-06-21 22:06
屠魔的少年
摘要:Flume是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据; 同时,Flume提供对数据进行简单处理,并写到各种数据接收方。 特性 1、高可靠性。Flume提供了end to end的数据可靠性机制 2、易于扩展。Agent为分布式架构,可水平扩展 3、易于
阅读全文
posted @ 2025-06-21 22:03
屠魔的少年
摘要:Apache Flink是一种为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架。 Storm(包括Storm Trident)和SparkStreaming(StructuredStreaming)也是两种著名的流处理框架。 Storm在设计之处是基于每条消息一次的模式的,因此
阅读全文
posted @ 2025-06-21 22:03
屠魔的少年
摘要:Kafka介绍: 1、Kafka以集群形式运行在一到多台服务器上,每个Kafka工作进程称为broker 2、Kafka集群对记录的流进行分类存储,这种分类称为主题(topic) 3、每条记录由键、值、时间戳组成 Kafka有三种关键能力: 1、发布和订阅记录流。在这个方面其等于一个消息队列或企业级
阅读全文
posted @ 2025-06-21 21:44
屠魔的少年
摘要:查看日志是否开启 show variables like 'general_log'; 看看日志文件保存位置 show variables like 'general_log_file'; 看看日志输出类型 table或file show variables like 'log_output'; 开
阅读全文
posted @ 2025-06-21 21:37
屠魔的少年
摘要:背景 一个业务系统刚迁移完,笔者刚回到家,开发那边就遇到了业务报错”Column ‘create_time’ cannot be null”,从字面意思可以理解为表字段’create_time’想插入null值,但报错该字段不能为null。由此引发了对explicit_defaults_for_ti
阅读全文
posted @ 2025-06-21 21:22
屠魔的少年
摘要:1问题现象 MySQL 5.7.34 升级到 8.0.32 后部分查询语句报错如下: ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICI
阅读全文
posted @ 2025-06-21 21:18
屠魔的少年
摘要:我们可以看到在应用程序中使用了多少未提交的事务吗? 可以看到MySQL服务器当前正在运行多少未提交的事务。 根据MySQL的版本,有几种选择。这些在下面描述。 The INFORMATION_SCHEMA INNODB_TRX Table In MySQL 5.5 And Later 查找活动Inn
阅读全文
posted @ 2025-06-21 20:27
屠魔的少年
摘要:官方解释: https://dev.mysql.com/doc/refman/5.7/en/downgrade-paths.html Downgrade from MySQL 5.7 to 5.6 is supported using the logical downgrade method. ht
阅读全文
posted @ 2025-06-21 20:24
屠魔的少年
摘要:注意事项: 验证插件 sql_mode MySQL 8.0 Group by默认不排序,切换后可能会导致业务返回的结果不对。 Datetime类型字段的值,不能等于空字符串,否则直接报错。 不建议直接使用MySQL 8.0二进制文件替换的方式进行直接升级。 做好数据同步校验。 在测试环境先做好兼容性
阅读全文
posted @ 2025-06-21 20:21
屠魔的少年
摘要:更新之前的需要了解的事项 了解MySQL在升级过程中会做什么操作 对mysql元数据库做更新 数据字典表 系统表(如权限,存储过程,触发器,函数表等) 在升级之前需要对数据库做一个完整性备份 MySQL不支持物理降级(但可以用mysqldump逻辑降级),当升级失败需要有备份进行数据恢复 了解升级的
阅读全文
posted @ 2025-06-21 20:20
屠魔的少年
摘要:1、安装新版本软件在不同目录 /usr/local/mysql5742/ 2、停原库(5.6.51) 快速关库功能关闭(优雅关闭、干净的关闭) /usr/local/mysql5651/bin/mysql -uroot -pchengce243 -S /data/mysql/3306/mysql.s
阅读全文
posted @ 2025-06-21 20:12
屠魔的少年
摘要:将5.7 升级至 8.0注意事项 (1)8.0以后可以调用mysql-shell工具,做升级之前的预检查。 mysqlsh -e "util.checkForServerUpgrade()" (2)升级时不再需要手工 mysql_upgrade (3)限制:升级前必须要备份。否则无法回退。 1、下载
阅读全文
posted @ 2025-06-21 20:08
屠魔的少年
摘要:方法一、INPLACE就地升级 在一台服务器上,原版本升级到新版本。 风险较大。 除非是主从环境。 升级过程 a. 安装新版本软件 b. 关闭原数据库业务(挂维护页) innodb_fast_shutdown=0 备份原数据库数据(冷备) c. 使用新版本软件 “挂” 旧版本数据启动(--skip-
阅读全文
posted @ 2025-06-21 20:07
屠魔的少年
摘要:方法1、进入mysql终端执行shutdown命令可以关闭mysql服务 mysql> shutdown; 方法2、使用mysqladmin关闭 mysqladmin shutdown -uroot -p -S /data/dbdata6033/mysql.sock 方法3、 kill -0 pid
阅读全文
posted @ 2025-06-21 20:03
屠魔的少年
摘要:编辑配置文件 /etc/my.cnf [client] port=3306 socket=/tmp/mysql.sock [mysqld_multi] log = /data/mysql/mysqld_multi.log [mysqld] user=mysql basedir=/usr/local/
阅读全文
posted @ 2025-06-21 03:25
屠魔的少年
摘要:配置MySQL、Redis、MongoDB开机自启动: 一、如果是docker 先设置docker开机自启动: systemctl enable docker 再设置容器开机自启动: docker update --restart=always mysql6033 二、如果是 systemctl s
阅读全文
posted @ 2025-06-21 03:15
屠魔的少年
摘要:# 说明: # 1.需要安装bc 软件 : yum install -y bc # 定义变量 backupDir="/data/DB" # 备份文件存放的路径 todayDateYMD=$(date +%Y%m%d) # MySQL备份脚本中定义的当天时间, 第一部分时间:年月日 yesterday
阅读全文
posted @ 2025-06-21 03:01
屠魔的少年
摘要:#!/bin/bash source /etc/profile shellpath=$(cd "$(dirname "$0")";pwd) bakdir='/dbbackup/mysqlbak/databackup' week_day=$(date +%w) month_day=$(date +%d
阅读全文
posted @ 2025-06-21 02:59
屠魔的少年
摘要:一、liunx操作系统层面 1、整体cpu负载的%user最好不长期超过20%(若%user太高,有极大可能性是索引使用不当) 2、整体cpu负载的%iowat最好不长期超过10%(确认I/O子系统是否有明显瓶颈) 3、整体cpu负载的%idle最好保持在70%以上(让CPU保持低负载) 4、关注各
阅读全文
posted @ 2025-06-21 02:58
屠魔的少年
摘要:源库(华为云): rds-gray-薪商城 langraymall.internal.cn-south-1.mysql.rds.myhuaweicloud.com 目标库(自建数据库): gray-xsc-mysql-slave 10.22.50.199L3307 步骤: 1、主库控制台设置RDS
阅读全文
posted @ 2025-06-21 02:56
屠魔的少年
摘要:1. 基础规范 · 数据库及表统一使用UTF8mb4字符集,特殊需求提前跟DBA评审。 · 数据库及表统一使用innodb存储引擎。 · 统一使用mysql隔离级别 REPEATABLE-READ。 · 创建表使用row_format=Dynamic 格式。 · 禁止使用存储过程和触发器、视图、自定
阅读全文
posted @ 2025-06-21 02:52
屠魔的少年
摘要:运维规范 1、不用root运行服务端进程。 2、文件目录权限隔离。 3、严控公网访问。 4、严控MySQL授权。 5、杜绝弱密码。 6、从库设置read only。 7、线上重要操作必须备份。 8、善用screen -S db 远程操作,防止重要操作网络断开。 9、mysql_config_edit
阅读全文
posted @ 2025-06-21 02:49
屠魔的少年
摘要:1.假如变量参数在column_list.txt中 cat column_list.txt 1111 1111 2222 2222 3333 4444 2.假如要生成批量查询test表中id等于上述列表值的select语句。可以使用如下命令: cat column_list.txt | awk '{
阅读全文
posted @ 2025-06-21 02:48
屠魔的少年
摘要:找到MySQL里到底谁消耗了更多内存: select event_name,SUM_NUMBER_OF_BYTES_ALLOC from performance_schema.memory_summary_global_by_event_name order by SUM_NUMBER_OF_BYT
阅读全文
posted @ 2025-06-21 02:45
屠魔的少年
摘要:A:192.168.13.12 (原主库) B:192.168.13.13 (空实例) binlog server ,需要恢复的binlog在上面 C:192.168.13.14 (从库用于恢复全备) A 是坏的库 现在用 B 和C 去恢复 用B去伪装A库 所以A和C的 server-id uuid
阅读全文
posted @ 2025-06-21 02:28
屠魔的少年
摘要:背景 近日,客户反馈某生产业务系统凌晨的物理备份都失败了(一主二从的集群,仅在两个从库上做 Xtrabackup 全备,主库不参与备份),需排查备份失败的原因。 案例分析 由于客户使用的是我司爱可生的 DMP 数据库管理平台,当备份失败时,在备份目录中会写入一个 FAIL 的标志文件,然后回滚掉残留
阅读全文
posted @ 2025-06-21 02:16
屠魔的少年
摘要:基于 XtraBackup 搭建从库。 整个过程其实比较简单,无非是备份还原。唯一需要注意的是建立复制时位置点的选择,包括: 在基于位置点的复制中,CHANGE MASTER TO 语句中 MASTER_LOG_FILE 和 MASTER_LOG_POS 的选择。 在 GTID 复制中,在执行 CH
阅读全文
posted @ 2025-06-21 02:12
屠魔的少年
摘要:#!/bin/bash # 10 23 * * * /bin/bash /data/script/backup_mysqldump.sh BDATE=`date +%Y%m%d%H%M%S` BPATH=/data/backup LOGFILE=${BPATH}/log_${BDATE}.log m
阅读全文
posted @ 2025-06-21 02:08
屠魔的少年
摘要:RDS在主库上执行备份会报错,报错如下: ** (mydumper:56288): CRITICAL **: Couldn't acquire global lock, snapshots will not be consistent: Access denied; you need (at lea
阅读全文
posted @ 2025-06-21 01:56
屠魔的少年
摘要:ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 31, event_type: 35 [root@testdb mysql]# mysqlbinlog --base
阅读全文
posted @ 2025-06-21 01:56
屠魔的少年
摘要:安装 MySQL 初始化时,报错如下: [root@hcdb1 ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/m
阅读全文
posted @ 2025-06-21 01:52
屠魔的少年
摘要:mkdir /data/mysql_data/{dbdata,run_mysqld,cnf} -p cd /data/mysql_data cat > docker-compose.yml << EOF version: '2.1' services: mysql: environment: TZ:
阅读全文
posted @ 2025-06-21 01:47
屠魔的少年
摘要:# MySQL 8.0编译环境需求 cmake > 3.5 gcc > 5.3,官方使用gcc8编译 C API包括:c++,c99 SSL boot c++ Ncurses Perl & bison 2.1 # 下载包含Boost C++ 库的MySQL源码包 https://downloads.
阅读全文
posted @ 2025-06-21 01:45
屠魔的少年
摘要:# 手动调整 SCL YUM 源 # CentOS 7 最晚在2024年6月30后停止更新维护,所以在 CentOS 7 直接通过 yum 直接安装 SCL 源是会失败的,所以需要手动调整 SCL YUM 源。 wget -O /etc/yum.repos.d/CentOS-Base.repo ht
阅读全文
posted @ 2025-06-21 01:43
屠魔的少年
摘要:安装二进制包 mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz 初始化时报错: [root@s2 yum.repos.d]# /soft/mysql/bin/mysqld --defaults-file=/data/mysql/my8039.cnf --initi
阅读全文
posted @ 2025-06-21 01:43
屠魔的少年
摘要:/usr/lib64/libjemalloc.so 是一个动态链接库文件,它包含了 jemalloc 内存分配器的实现。jemalloc 是一个通用的内存分配器,旨在为多线程应用程序提供优秀的性能。它通常被用在需要高效内存管理的应用程序中,如数据库服务器、Web 服务器等。 安装库文件 这个库文件一
阅读全文
posted @ 2025-06-21 01:42
屠魔的少年
摘要:卸载旧版本rpm包 rpm -qa|grep mysql -i rpm -qa|grep mariadb -i rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 安装依赖包 yum install -y libaio perl perl-devel 解
阅读全文
posted @ 2025-06-21 01:35
屠魔的少年
摘要:一、降低 swap 使用权重 Linux内核3.5-rc1及更高版本建议swappiness设置为1; Linux内核低于3.5-rc1版本建议swappiness设置为0 #检查服务器内核版本 shell> uname -r #内核版本为3.5-rc1或更高版本 shell> vim /etc/s
阅读全文
posted @ 2025-06-21 01:33
屠魔的少年
摘要:MGR作为MySQL原生的高可用方案,它的基于共识协议的同步和决策机制,看起来也更为先进。吸引了一票用户积极尝试,希望通过MGR架构解决RPO=0的高可用切换。在实际使用中经常会遇到因为网络抖动的问题造成集群故障,最近我们某客户就遇到了这类问题,导致数据不一致。 问题现象 这是在生产环境中一组MGR
阅读全文
posted @ 2025-06-21 01:30
屠魔的少年
摘要:我们知道,InnoDB Cluster 是 Oralce 官方发布的用来管理 MySQL 组复制的一套工具,有了 InnoDB Cluster,MySQL 原生组复制的部署、运维、开发等将会变得非常简单。 InnoDB Cluster 测试环境如下: 节点 A:192.168.2.210:3601(
阅读全文
posted @ 2025-06-21 01:05
屠魔的少年
摘要:在线上进行DDL操作时,相对于其可能带来的系统负载,其实,我们最担心的还是MDL其可能导致的阻塞问题。 一旦DDL操作因获取不到MDL被阻塞,后续其它针对该表的其它操作都会被阻塞。典型如下,如阻塞稍久的话,我们会看到Threads_running飙升,CPU告警。 mysql> show proce
阅读全文
posted @ 2025-06-21 00:45
屠魔的少年
摘要:0. 背景 在业务低峰通过pt-osc在线做DDL期间出现死锁,导致业务的SQL被回滚了,对应用不友好。 本案例死锁发生的场景:pt-osc拷贝最后一个chunk-size并且期间其它事务有对原表做insert操作,才会出现本案例的死锁。 1. 先简单介绍一下pt-osc的工作原理 创建一个跟原表表
阅读全文
posted @ 2025-06-21 00:42
屠魔的少年
摘要:本文基于MySQL 8.0测试常用的DDL工具,通过多个维度进行对比分析。基本结论是MySQL原生Online DDL在性能、存储开销和易用性等方面有较大优势,目前在加列等场景可取代pt-osc/gh-ost,在创建索引等场景还需要做进一步优化。 DDL工具实现分析 在MySQL使用过程中,根据业务
阅读全文
posted @ 2025-06-21 00:38
屠魔的少年
摘要:随着 MySQL 版本的不断更新,对 DDL 操作的支持也在不断的完善和更新:比如从 MySQL 5.6 引入 Online DDL ,在 MySQL 5.7 对 Online DDL 进一步完善,到现在的 8.0 版本,则对 DDL 的实现重新进行了设计,比如 DDL 操作支持原子特性,在 MyS
阅读全文
posted @ 2025-06-21 00:14
屠魔的少年
摘要:还是之前的测试Demo 会话1开启了事务并执行了三个操作,但未提交,此时,会话2执行了alter table操作,被阻塞。 session1> begin; Query OK, 0 rows affected (0.00 sec) session1> delete from slowtech.t1
阅读全文
posted @ 2025-06-21 00:10
屠魔的少年
摘要:背景: 作为一个DBA,大表的DDL的变更大部分都是使用Percona的pt-online-schema-change,本文说明下另一种工具gh-ost的使用:不依赖于触发器,是因为他是通过模拟从库,在row binlog中获取增量变更,再异步应用到ghost表的。在使用gh-ost之前,可以先看G
阅读全文
posted @ 2025-06-20 23:27
屠魔的少年
摘要:背景 Online DDL 一直都是 DBA 运维时比较头疼的事,一般都会选择在业务低峰期谨慎的操作,比较常用的几个工具比如 percona pt-online-schema-change , Facebook OSC, 本质上它们都是基于触发器的,简单来讲就是通过数据库的触发器把作用在源表的操作在
阅读全文
posted @ 2025-06-20 22:49
屠魔的少年
摘要:发展历程 MySQL Online DDL 功能从 5.6 版本开始正式引入,发展到现在的 8.0 版本,经历了多次的调整和完善。本文主要就 Online DDL 的发展过程,以及各版本的区别进行总结。其实早在 MySQL 5.5 版本中就加入了 INPLACE DDL 方式,但是因为实现的问题,依
阅读全文
posted @ 2025-06-20 22:47
屠魔的少年
摘要:随着业务系统的快速迭代,对应的记录相关数据的表的结构也在快速的变化。但是,对于数据库来说,很多的表结构变更都是要花费很大代价的,如增删字段、更改字段数据类型等操作。更需要注意的是,对于原生的 MySQL ONLINE DDL (MySQL 5.6开始支持)功能虽然已经很多操作不再阻塞 DML 操作,
阅读全文
posted @ 2025-06-20 22:31
屠魔的少年
摘要:问题 有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件...... 此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。 那我们能知道 update 的进度么? 实验 我们先创建一个测
阅读全文
posted @ 2025-06-20 22:28
屠魔的少年
摘要:问题 我们执行 alter table 语句后,经常面临“跑又跑不完,杀又不敢杀”的窘境。 如果能评估 alter table 的进度就幸福多了。 实验 MySQL官方已经给出了文档:https://dev.mysql.com/doc/refman/5.7/en/monitor-alter-tabl
阅读全文
posted @ 2025-06-20 22:24
屠魔的少年
摘要:一、前言 作为 MySQL DBA,相信我们大家都会对大表变更(大于10G 以上的)比较头疼,尤其是某些 DDL 会锁表,影响业务可持续性。目前通用的方案使用 Percona 公司开源的 pt-osc 工具解决导致锁表的操作,还有一款 github 基于 go 语言开发的 gh-ost。本文主要介绍
阅读全文
posted @ 2025-06-20 21:59
屠魔的少年
摘要:原子 DDL 听到原子这个关键字大家是不是联想到事务的 ACID 的原子性? 两者相似,事务/语句执行要么全部成功,要么全部失败。MySQL 8.0 之前的版本 DDL 是非原子性的,对于多条 sql 构成的ddl语句比如 rename table t1 to t1_bak,t2 to t2_bak
阅读全文
posted @ 2025-06-20 21:45
屠魔的少年
摘要:一、前言 MySQL 8.0.29之前,在线 DDL 操作中即时添加列只能添加在表的最后一列,对于在某个具体列后面快速添加列很不方便,MySQL 8.0.29 扩展了对 ALTER TABLE … ALGORITHM=INSTANT 的支持:用户可以在表的任何位置即时添加列、即时删除列、添加列时评估
阅读全文
posted @ 2025-06-20 21:30
屠魔的少年
摘要:前言 随着业务的发展,用户对系统需求变得越来越多,这就要求系统能够快速更新迭代以满足业务需求,通常系统版本发布时,都要先执行数据库的DDL变更,包括创建表、添加字段、添加索引、修改字段属性等。 在数据量大不大的情况下,执行DDL都很快,对业务基本没啥影响,但是数据量大的情况,而且我们业务做了读写分离
阅读全文
posted @ 2025-06-20 21:11
屠魔的少年
摘要:本期我们针对这几个问题来进行讨论: 传统情况 我们先回顾一下,在没有 “立刻加列” 功能时,加列操作是怎么完成的。我们也借此来熟悉一下本期的图例: 当进行 加列操作 时,所有的数据行 都必须要 增加一段数据(图中的 列 4 数据) 如上一期图解所讲,当改变数据行的长度,就需要 重建表空间(图中灰蓝的
阅读全文
posted @ 2025-06-20 20:58
屠魔的少年
摘要:讨论的背景是MySQL 8.0+InnoDB。 DDL(Data Definition Language) 众所周知, DDL定义了数据在数据库中的结构、关系以及权限等。比如CREATE,ALTER,DROP等等。 本期我们讨论MySQL 8.0(使用InnoDB存储引擎)在修改表结构时, 究竟会发
阅读全文
posted @ 2025-06-20 20:27
屠魔的少年
摘要:背景 之前碰到客户咨询定位 DDL 阻塞的相关问题,整理了一下方法,如何解决 DDL 被阻塞的问题。 下面,就这个问题,整理了一下思路: 怎么判断一个 DDL 是不是被阻塞了? 当 DDL 被阻塞时,怎么找出阻塞它的会话? 1. 如何判断一个 DDL 是不是被阻塞了? 测试过程如下: mysql>
阅读全文
posted @ 2025-06-20 20:04
屠魔的少年
摘要:DDL 操作一直是我们的 MYSQL 的一个软肋,从MYSQL 5.6 其实相关的alter 语句已经有了改变,也就是题目的的inplace 和 copy 。其实很多人都知道,但用的比较少,因为有pt-OSC 工具呀,还有另外一个工具gh-ost (之前是写过的,如有需要可以自己往前翻翻) 维护现在
阅读全文
posted @ 2025-06-20 19:59
屠魔的少年
摘要:问题 mysql> show create table users; + + + | Table | Create Table | + + + | users | CREATE TABLE `users` ( `user` varchar(11) DEFAULT NULL, `password` v
阅读全文
posted @ 2025-06-20 19:50
屠魔的少年
摘要:前言 如果项目要支持7*24小时服务,对MySQL表添加列或者添加索引等,无法在停机的情况下做了,需要Online DDL的支持,也就是在不影响服务的情况下,在线修改表的定义。 从MySQL 5.6开始,就有官方的Online DDL支持。 目前,MySQL Online DDL主要有三种方式: P
阅读全文
posted @ 2025-06-20 19:49
屠魔的少年
摘要:前提:双节点开放端口,或关闭防火墙; 本部署流程按裸设备的方式进行,不限制部署方式。 共享磁盘50G,划分4个分区存放不同的文件 /dev/sdb1 raw1 dcr 2.5G /dev/sdb2 raw2 voting 5G /dev/sdb3 raw3 log 7.5G /dev/sdb4 ra
阅读全文
posted @ 2025-06-18 00:48
屠魔的少年
摘要:安装完达梦数据库后,可以执行以下脚本自动调整性能相关的参数: disql SYSDBA/SYSDBA@10.226.79.4:5237 declare v_mem_mb int; v_cpus int; mem_per int:=100; MEMORY_POOL int; BUFFER INT; M
阅读全文
posted @ 2025-06-18 00:47
屠魔的少年
摘要:启动数据库: systemctl start DmServiceDMSERVER.service 停止数据库: systemctl stop DmServiceDMSERVER.service 重启数据库: systemctl restart DmServiceDMSERVER.service 查看
阅读全文
posted @ 2025-06-18 00:47
屠魔的少年
摘要:1、 call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数默认值,重启后生效,修改ini配置文件); --参考值 --根据实际环境修改 free -g --占用内存总值的80% call SF_SET_SYSTEM_PARA_VALUE ('BUFFER',51000,1,
阅读全文
posted @ 2025-06-18 00:46
屠魔的少年
摘要:fe节点 Join 显示为 false mysql> show frontends\G *************************** 1. row *************************** Name: 10.2.29.65_9010_1713261138287 IP: 10.
阅读全文
posted @ 2025-06-18 00:42
屠魔的少年
摘要:建表报错: use example_db; CREATE TABLE IF NOT EXISTS `detailDemo` ( `recruit_date` DATE NOT NULL COMMENT "YYYY-MM-DD", `region_num` TINYINT COMMENT "range
阅读全文
posted @ 2025-06-18 00:42
屠魔的少年
摘要:将额外的 FE 节点添加至集群报错:ErrMsg:invalid cluster id mysql> SHOW PROC '/frontends'\G *************************** 1. row *************************** Name: 10.2.
阅读全文
posted @ 2025-06-18 00:41
屠魔的少年
摘要:加入 conf/fe.conf 配置文件中 JAVA_OPTS_FOR_JDK_9 参数 -Duser.timezone=GMT+8 JAVA_OPTS_FOR_JDK_9="-Dlog4j2.formatMsgNoLookups=true -Duser.timezone=GMT+8 -Xmx819
阅读全文
posted @ 2025-06-18 00:41
屠魔的少年
摘要:[LockChecker.checkSlowLocks():109] slow db locks: [{"lockState":"readLocked","slowReadLockCount":1,"dumpThreads":"lockHoldTime: 3024 ms;dump thread: C
阅读全文
posted @ 2025-06-18 00:39
屠魔的少年
摘要:1.1、创建默认存储卷 如果禁止了 StarRocks 创建内置存储卷 (将 enable_load_volume_from_conf 设置为 false), 则启动后必须先创建和设置默认存储卷,然后才能在集群中创建数据库和表。 CREATE STORAGE VOLUME default_volum
阅读全文
posted @ 2025-06-18 00:18
屠魔的少年
摘要:注意: 数据迁移的目标集群必须为 v3.1.8 或 v3.2.3 及以上版本。 参考文档: https://docs.starrocks.io/zh/docs/3.1/administration/data_migration_tool/ 1、开启迁移旧版本兼容 1.1、查看当前集群是否开启旧版本兼
阅读全文
posted @ 2025-06-18 00:17
屠魔的少年
摘要:1、FE节点扩容测试 10.9.75.195 节点上 FE节点镜像下载: docker pull starrocks/fe-ubuntu:3.1.11 mkdir /data/sr/fe/{conf,meta,log} -p cd /data/sr/fe cat > docker-compose.y
阅读全文
posted @ 2025-06-18 00:17
屠魔的少年
摘要:升级步骤: 参考官方升级文档: https://docs.starrocks.io/zh/docs/3.1/deployment/upgrade/ 注意事项: 先升级 BE,再升级 FE StarRocks 集群: hwuat-starrocks-be-10.9.75.195 10.9.75.195
阅读全文
posted @ 2025-06-18 00:16
屠魔的少年
摘要:一、规划 StarRocks 集群: hwuat-starrocks-be-10.9.75.195 10.9.75.195 BE hwuat-starrocks-be-10.9.80.220 10.9.80.220 BE hwuat-starrocks-be-10.9.64.158 10.9.64.
阅读全文
posted @ 2025-06-18 00:15
屠魔的少年
摘要:MySQL 和StarRocks VARCHAR(n) 中的n的含义 在 StarRocks 中,VARCHAR(n) 中的n代表字节数,而在 MySQL 中,VARCHAR(n) 中的 n 代表字符数。根据 UTF-8,1 个汉字等于 3 个字节。 当 StarRocks 和 MySQL 将 n
阅读全文
posted @ 2025-06-18 00:12
屠魔的少年
摘要:# 导入测试数据 mysql -h10.2.30.28 -P9030 -uadmin -pchengce243 testdb -A create database testdb; use testdb; CREATE TABLE IF NOT EXISTS detail ( event_time D
阅读全文
posted @ 2025-06-18 00:10
屠魔的少年
摘要:# 查看表当前的分区情况 SHOW PARTITIONS FROM site_access; mysql> SHOW PARTITIONS FROM detailDemo; + + + + + + + + + + + + + + + + + + | PartitionId | PartitionNa
阅读全文
posted @ 2025-06-18 00:09
屠魔的少年
摘要:创建管理员账号: CREATE USER admin@'%' IDENTIFIED BY 'chengce243'; GRANT ALL ON . TO admin@'%'; 修改用户密码: ALTER USER jack@'172.10.1.10' IDENTIFIED BY '54321'; 删
阅读全文
posted @ 2025-06-18 00:09
屠魔的少年
摘要:atrrocks是基于官方的starrocks镜像docker-compose部署启动。 所有部署位置都在/data/starrocks/下。 在fe文件夹下:docker-compose up -d 即可启动FE服务。 在be文件夹下:docker-compose up -d 即可启动BE服务。
阅读全文
posted @ 2025-06-18 00:08
屠魔的少年
摘要:查询FE服务节点情况: SHOW PROC '/frontends'\G SHOW frontends\G 查询BE服务节点情况: SHOW PROC '/backends'\G SHOW backends\G 查询broker服务节点情况: SHOW PROC "/brokers"\G SHOW
阅读全文
posted @ 2025-06-17 23:35
屠魔的少年
摘要:1、2.5.21版本升级到 3.1.12版本,通过同步工具同步数据。 2、3.1.12 版本升级到 3.2.7版本,直接通过替换文件的方式。 3、2.5版本小版本升级一个节点需要10分钟。3.1 版本存算分离版本一个节点1分钟。 4、集群迁移工具不支持迁移视图
阅读全文
posted @ 2025-06-17 23:35
屠魔的少年
摘要:查看所有键 注意:生产环境不要使用此命令,key如果很多会把redis卡死 redis> kyes * 查看所有键总数 redis> dbsize 检查键是否存在 redis> exists key_name 返回键存在则返回1,不存在则返回0 查看键的数据结构类型 redis> type key
阅读全文
posted @ 2025-06-17 23:31
屠魔的少年
摘要:一、生成 RDB 的方式 两个命令可以生成 RDB 文件:save 和 bgsave save:在主线程中执行,会导致阻塞,线上环境不建议使用 bgsave:创建一个子进程,专门用于写入 RDB 文件,避免了主线程的阻塞,这也是 Redis RDB 文件生成的默认配置。 bgsave 为了保证快照完
阅读全文
posted @ 2025-06-17 23:27
屠魔的少年
摘要:mkdir /data/redis/data -p cat > /data/redis/redis.conf << EOF port 6379 bind 0.0.0.0 requirepass 123456 timeout 60 daemonize yes loglevel notice dir /
阅读全文
posted @ 2025-06-17 23:25
屠魔的少年
摘要:cd /mnt mkdir redis-cluster cd redis-cluster mkdir -p 6380/conf 6381/conf 6382/conf 6380 redis.conf port 6380 requirepass 123456 masterauth 123456 pro
阅读全文
posted @ 2025-06-17 23:24
屠魔的少年
摘要:默认配置启动 redis-server 指定配置启动 语法: redis-server --configKey1 configValue1 --configKey2 configValue2 范例,使用6380端口号启动: redis-server --port 6380 配置文件启动 redis-
阅读全文
posted @ 2025-06-17 22:33
屠魔的少年
摘要:修改网络、内存及资源限制相关内核参数 cat >> /etc/sysctl.conf << EOF net.ipv4.tcp_max_syn_backlog = 65535 net.core.somaxconn = 65535 net.ipv4.tcp_max_tw_buckets = 262144
阅读全文
posted @ 2025-06-17 22:32
屠魔的少年
摘要:mac系统使用Homebrew安装Redis 1、没有安装Homebrew,首先安装npm国内的吧,快一些。 打开终端输入以下命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.s
阅读全文
posted @ 2025-06-17 22:31
屠魔的少年
摘要:redis-cli -a 123456 -h 127.0.0.1 keys *resourcenode_cache_all_schoolid=0* | xargs redis-cli -a 123456 -h 127.0.0.1 del
阅读全文
posted @ 2025-06-17 22:29
屠魔的少年
摘要:最近有个哥们在群里问,有一个日志,里面存的是IP地址(一行一个),如何将这些IP快速导入到Redis中。 我刚开始的建议是Shell+redis客户端。 今天,查看Redis官档,发现文档的首页部分(http://www.redis.io/documentation)有一个专门的主题是讲述“Redi
阅读全文
posted @ 2025-06-17 22:06
屠魔的少年
摘要:Redis主从原理: 副本库通过slaveof 10.0.0.51 6379命令,连接主库,并发送SYNC给主库 主库收到SYNC,会立即触发BGSAVE,后台保存RDB,发送给副本库 副本库接收后会应用RDB快照 主库会陆续将中间产生的新的操作,保存并发送给副本库 到此,我们主复制集就正常工作了
阅读全文
posted @ 2025-06-17 21:05
屠魔的少年
摘要:wal日志即write ahead log预写式日志,简称wal日志。wal日志可以说是PostgreSQL中十分重要的部分,相当于oracle中的redo日志。 当数据库中数据发生变更时: (1)change发生时:先要将变更后内容计入wal buffer中,再将变更后的数据写入data buff
阅读全文
posted @ 2025-06-17 15:31
屠魔的少年
摘要:一、启用归档模式 查看当前状态 show data_directory; show archive_mode; 创建归档目录 mkdir archivelog 在postgresql.conf文件中修改如下三个参数: # 打开归档模式 archive_mode = on # 配置归档命令 archi
阅读全文
posted @ 2025-06-17 15:31
屠魔的少年
摘要:Vacuum 是PG 为了实现MVCC(多版本并发控制)而采用的一种技术。通过保留变更前的记录来实现MVCC的。当数据记录被DML修改,旧版本记录仍保留不变,仅仅需要修改相关记录的xmin、xmax属性,并新增写入变更后的版本记录数据。 由于历史版本数据仍然保留在原表空间中,默认情况下autovac
阅读全文
posted @ 2025-06-17 15:27
屠魔的少年
摘要:一、进程结构 PostgreSQL数据库启动时,会先启动一个叫Postmaster的主进程,还会fork 出一些辅助子进程,这些辅助子进程各自负责一部分功能。 [dave@www.cndba.cn ~]# pstree -ap |grep post |grep -v grep |-postgres,
阅读全文
posted @ 2025-06-17 15:27
屠魔的少年
摘要:pg_hba.conf 文件用于控制PostgreSQL服务器的访问权限。 具体包括:允许哪些用户连接到哪个数据库,允许哪些IP地址连接到本服务器,以及指定连接时使用的身份验证模式。 文件格式如下: TYPE DATABASE USER ADDRESS METHOD TYPE列标识允许的连接方式,可
阅读全文
posted @ 2025-06-17 15:22
屠魔的少年
摘要:如果 pg_ident.conf 文件存在,则系统会基于文件内容将当前登陆的操作系统用户映射为一个PostgreSQL数据库内部用户的身份来登陆。 查看配置文件的位置 postgres=# select name,setting,context from pg_settings where cate
阅读全文
posted @ 2025-06-17 15:22
屠魔的少年
摘要:postgresql.conf 文件包含一些通用设置。 比如内存分配、新建比如内存分配、新建 database 的默认存储位置、PostgreSQL服务器的IP地址、日志的位置等。 如何查看配置: 查询pg_settings系统表: SELECT name, setting FROM pg_sett
阅读全文
posted @ 2025-06-17 15:21
屠魔的少年
摘要:pg_hba.conf:客户端认证配置文件,主要用于控制连接数据库的相关信息,比如主机类型、数据库名、用户名、IP地址等信息。 pg_ident.conf: ident认证配置文件,在pg_hba.conf里面的ident认证方式,就是在pg_ident.conf中配置。 postgresql.co
阅读全文
posted @ 2025-06-17 15:17
屠魔的少年
摘要:类型转换CAST / 双冒号(::) 在PG 的SQL中,会经常看到:: 的语法, "::" 符号其实是一个显示的类型转换符,作用等同于CAST。 可以使用::显示调用CAST,从而快速的一种数据类型的值转换为另一种数据类型。 使用示例 myba=# select '2022'::int,'2022
阅读全文
posted @ 2025-06-17 15:16
屠魔的少年
摘要:create database "test980500" with owner="root" encoding='utf-8'; \connect test980500 CREATE TABLE public.example_table ( id integer NOT NULL, name cha
阅读全文
posted @ 2025-06-17 15:16
屠魔的少年
摘要:一、pg_basebackup工作原理 1、创建检查点,打开FPW,创建备份标签(存储检查点位置,时间等信息); 2、通过流复制协议与数据库建立连接,WAL Sender进程向pg_basebackup发送数据库物理文件; 3、pg_basebackup接收到文件后写入目标位置(压缩或不压缩)。 二
阅读全文
posted @ 2025-06-17 15:14
屠魔的少年
摘要:pg_rman pg_rman工具是实现PostgreSQL数据库在线备份,物理备份和恢复的备份工具。可以实现全量备份,增量备份。 https://github.com/ossc-db/pg_rman 常用参数 Usage: pg_rman OPTION init pg_rman OPTION ba
阅读全文
posted @ 2025-06-17 15:12
屠魔的少年
摘要:export PGPASSWORD=root psql -h10.2.29.66 -p5432 -Uroot -d test980500 CREATE TABLE example_table ( id integer NOT NULL, name character varying(100), ti
阅读全文
posted @ 2025-06-17 15:08
屠魔的少年
摘要:rpm包: postgresql14-14.11-1PGDG.rhel7.x86_64.rpm postgresql14-contrib-14.11-1PGDG.rhel7.x86_64.rpm postgresql14-libs-14.11-1PGDG.rhel7.x86_64.rpm postg
阅读全文
posted @ 2025-06-17 10:57
屠魔的少年
摘要:initdb参数说明: -A, --auth=METHOD 为本地用户指定pg_hba.conf文件中的认证方法,可以为md5、trust、password等,为了安装方便,默认的值是trust,但是除非你信任数据库实例所在服务器上的所有本地用户; --auth-host=METHOD 指定通过TC
阅读全文
posted @ 2025-06-17 10:56
屠魔的少年
摘要:mkdir /data/postgresql -p cd /data/ cat > docker-compose.yml << EOF version: "3.1" services: postgresql: image: postgres:13.14 container_name: pg5432
阅读全文
posted @ 2025-06-17 10:55
屠魔的少年
摘要:neo4j 官方文档有说明,使用 neo4j-admin restore / dump 导出和恢复数据库的时候需要停掉数据,否则会报数据库正在使用的错误: command failed: the database is in use — stop Neo4j and try again 官方文档这样
阅读全文
posted @ 2025-06-17 10:44
屠魔的少年
摘要:mongo 127.0.0.1:27017 -uroot -p "root#123" --authenticationDatabase=admin use bonade_iot; db.mytab.find({"rcv_time": {"$lt": ISODate("2024-01-02T00:00
阅读全文
posted @ 2025-06-17 01:16
屠魔的少年
摘要:01背景介绍 在MongoDB的副本集中,如果你利用mongo-shell连接一个从节点,进行查询操作,经常会遇到下面的报错: [root@ /data1]# /usr/local/bin/mongo mongodb://root:xxxxx@10.xx.xx.xx:27017/admin Mong
阅读全文
posted @ 2025-06-17 01:15
屠魔的少年
摘要:使用脚本管理mongodb服务 [root@MongoDB ~]# cat /etc/init.d/mongod #!/bin/bash MONGODIR=/usr/local/mongodb MONGOD=$MONGODIR/bin/mongod MONGOCONF=/etc/mongodb.co
阅读全文
posted @ 2025-06-17 01:13
屠魔的少年
摘要:通过Connection String URI登录数据库。 在URI末尾加上“&maxPoolSize=”,即可设置连接池的连接数。 示例:使用Mongo Shell连接副本集实例时,限制连接池的连接数为10。 mongo "mongodb://rwuser:xxxxxxxxxx@192.168.1
阅读全文
posted @ 2025-06-17 01:12
屠魔的少年
摘要:查看所有参数: db.adminCommand( { getParameter : "*" } ) 查看某个具体参数: db.adminCommand( { getParameter:1, syncdelay:1 } ) 使用 setParameter命令修改参数: db.adminCommand(
阅读全文
posted @ 2025-06-17 01:11
屠魔的少年
摘要:默认情况下,所有数据库的数据文件都存放在dbPath指定的目录下。 当实例中数据库较多的时候,目录就会比较乱。 所以在生产环境,建议配置每个DB使用独立的目录。 配置参数是:storage.directoryPerDB,该值默认为false。 当设置为true后,会在storage.dbPath 参
阅读全文
posted @ 2025-06-17 01:10
屠魔的少年
摘要:1 相关参数说明 查看MongoDB 的最大连接数: [root@testdb ~]# mongo --port 27018 MongoDB shell version v4.4.13 connecting to: mongodb://127.0.0.1:27018/?compressors=dis
阅读全文
posted @ 2025-06-17 01:09
屠魔的少年
摘要:修改/etc/mongod.conf processManagement: timeZoneInfo: /usr/share/zoneinfo fork: true security: keyFile: /etc/mongodb.key replication: oplogSizeMB: 2048
阅读全文
posted @ 2025-06-17 01:08
屠魔的少年
摘要:身份验证: 方法一: mongo --port 27017 --authenticationDatabase "admin" -u "myUserAdmin" -p 方法二: mongo --port 27017 use admin; db.auth('root','mima123456') 或者:
阅读全文
posted @ 2025-06-17 01:06
屠魔的少年
摘要:管理员账号未知,创建一个管理员账号,需要重启 systemctl stop mongod systemctl start mongod 注释: security: authorization: enabled mongo --host 10.2.210.2 --port 27017 use admi
阅读全文
posted @ 2025-06-17 01:06
屠魔的少年
摘要:当在SECONDARY 节点读取操作,报如下错误: rs0:SECONDARY> show tables; 2020-08-26T10:34:53.196+0800 E QUERY [thread1] Error: listCollections failed: { "operationTime"
阅读全文
posted @ 2025-06-17 01:04
屠魔的少年
摘要:把认证关闭, 然后新建admin,新建用户,就可以了,前提你知道每个库的 用户不然只能 新建用户了.... MongoDB集群认证,有下面三步: (1)生成密钥文件,复制到其他两台服务器上.并修改权限 openssl rand -base64 741 > /usr/replSet_key chmod
阅读全文
posted @ 2025-06-17 01:03
屠魔的少年
摘要:前言 MongoDB是非关系型数据库的典型代表,DB-Engines Ranking 数据显示,近年来,MongoDB在 NoSQL领域一直独占鳌头。MongoDB是为快速开发互联网应用 而设计的数据库系统,其数据模型和持 久化策略就是为了构建高读/写的性能,并且可以方面的弹性拓展。随着MongoD
阅读全文
posted @ 2025-06-17 01:02
屠魔的少年
摘要:建议避免绑定EIP直接通过互联网访问MongoDB 避免MongoDB部署在互联网或者DMZ里,应该将MongoDB部署在公司内部网络,使用路由器或者防火墙技术把MongoDB保护起来,避免直接绑定EIP方式从互联网访问MongoDB。通过这种方式防止未授权的访问及DDos攻击等。不推荐绑定弹性公网
阅读全文
posted @ 2025-06-17 01:01
屠魔的少年
摘要:一、数据库连接 使用时,可能会遇到因为Mongod/Mongos的连接数满了,导致客户端无法连接的问题。在Mongod/Mongos的服务端,收到一个新的连接由一个单独的线程来处理,每个线程配置了1MB的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。 1、客户
阅读全文
posted @ 2025-06-17 01:01
屠魔的少年
摘要:一、命名规范 1、数据库对象(库名、表名、字段名、索引名)命名建议全部使用小写字母开头,后面跟字母或者数字,数据库对象(库名、表名、字段名、索引名)名字长度建议都不要大于32字节。 2、数据库名称不能使用特殊字符("",.,$,,/,*,?,~,#,:,?,|")和空字符\0,数据库名称不能使用ad
阅读全文
posted @ 2025-06-17 01:01
屠魔的少年
摘要:原文链接:https://help.aliyun.com/zh/mongodb/user-guide/use-mongoshake-to-implement-one-way-synchronization-between-apsaradb-for-mongodb-replica-set-instan
阅读全文
posted @ 2025-06-17 00:58
屠魔的少年
摘要:openssl rand -base64 32 > /tmp/mongo_keyfile chmod 600 /tmp/mongo_keyfile
阅读全文
posted @ 2025-06-17 00:56
屠魔的少年
摘要:查看复制集状态 rs.status() 查看配置文件 rs.conf() 查看复制集的主节点 db.isMaster() 查看副本集的配置 rs.conf() 查看复制的情况 rs.printSlaveReplicationInfo() 或 rs.printReplicationInfo() 检查o
阅读全文
posted @ 2025-06-17 00:55
屠魔的少年
摘要:10.2.210.2 mongo --host 10.2.210.2 --port 27017 use admin; db.auth('root','root.COM2020'); mkdir -p /data/mongo_rep2 mkdir -p /data/mongo_rep3 touch /
阅读全文
posted @ 2025-06-17 00:49
屠魔的少年
摘要:# 列出分片信息 mongos> use admin mongos> db.runCommand( { listshards : 1 } ) { "shards" : [ { "_id" : "shard1", "host" : "sh1/127.0.0.1:28021,127.0.0.1:2802
阅读全文
posted @ 2025-06-17 00:49
屠魔的少年
摘要:WiredTiger和RocksDB区别 一、数据结构 WiredTiger使用B树作为其主要数据结构。B树是一种平衡树,它可以保证插入、查找和删除的时间复杂度都是O(log n),其中n是树中节点的数量。B树在磁盘上的操作非常高效,因为它可以通过一次IO操作读取多个节点。 RocksDB使用LSM
阅读全文
posted @ 2025-06-17 00:20
屠魔的少年
摘要:关于华为云RocksDB存储引擎和WiredTiger存储引擎 1、华为云MongoDB 3.4和4.0是WiredTiger存储引;4.2和4.4是RocksDB存储引擎。 参考:https://support.huaweicloud.com/productdesc-dds/dds_01_0014
阅读全文
posted @ 2025-06-17 00:19
屠魔的少年
摘要:MySQL: lan-dev-zt-v2-mysql.bndxqc.com:3316 表: bonade_operate_center.saas_oper_log mysql --login-path=root-10.2.21.57 bonade_operate_center -A SELECT m
阅读全文
posted @ 2025-06-17 00:17
屠魔的少年
摘要:mongodb 备份、还原、导入、导出 mongodump备份数据库 从 MongoDB 4.2 开始,不能再使用 mongodump 或 mongorestore 作为分片集群的备份策略了。这些工具无法维护跨分片事务的原子性保证。 如果开启了用户认证,要加上 --authenticationDat
阅读全文
posted @ 2025-06-17 00:17
屠魔的少年
摘要:测试数据: mongo --host 10.2.30.28 --port 27017 -umongo_rw -p"afsd23#zUNQbbO7oF" --authenticationDatabase=admin use testdb; db.testcol.insertMany([ {"_id":
阅读全文
posted @ 2025-06-17 00:16
屠魔的少年
摘要:软件下载地址 liunux http://dl.mongodb.org/dl/linux/ win http://dl.mongodb.org/dl/win32/x86_64
阅读全文
posted @ 2025-06-17 00:14
屠魔的少年
摘要:groupadd mongod useradd -g mongod mongod tar zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz -C /usr/local/ ln -s /usr/local/mongodb-linux-x86_64-rhel70-4
阅读全文
posted @ 2025-06-17 00:13
屠魔的少年
摘要:mkdir /data/mongo/{data,log,config} -p cd /data/mongo cat > /data/mongo/config/mongod.conf << EOF systemLog: destination: file logAppend: true path: /
阅读全文
posted @ 2025-06-17 00:12
屠魔的少年
摘要:mkdir -p /data/mongo groupadd mongodb useradd -g mongodb mongodb tar zxvf mongodb-linux-x86_64-rhel70-4.2.14.tgz -C /usr/local/ ln -s /usr/local/mongo
阅读全文
posted @ 2025-06-17 00:12
屠魔的少年
摘要:节点规划: mongos: 28015、28016、28017 configserver: 28018、28019、28020(复制集) mongod: 28021、28022、28023(复制集) 28024、28025、28026(复制集) 创建目录 for i in 15 16 17 18 1
阅读全文
posted @ 2025-06-17 00:11
屠魔的少年
摘要:一,git 流程(常规流程) 1. 在项目主页fork正式仓库 2. git clone 自己fork出来的仓库地址 - git clone git@github.xxx.com:xxx/xxx.git 3. git remote add upstream 正式仓库地址 - git remote a
阅读全文
posted @ 2025-06-16 15:26
屠魔的少年
摘要:从阿里云的Docker Hub 上pull一个MySQL的image. docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7 查看下载镜像 [root@hcdev yum.repos.d]# docker images
阅读全文
posted @ 2025-06-16 15:03
屠魔的少年
摘要:问题描述: mysql.err 日志有大量报错: mbind: Operation not permitted mbind: Operation not permitted 当前 docker-compose.yml 配置: [root@gzfat-xqy-saas-mysql-10.2.32.15
阅读全文
posted @ 2025-06-16 15:01
屠魔的少年
摘要:报错一: [root@hwuat-starrocks-be-0003 be]# docker-compose up -d ERROR: Version in "./docker-compose.yaml" is unsupported. You might be seeing this error
阅读全文
posted @ 2025-06-16 15:00
屠魔的少年
摘要:以 starrocks-cluster-sync 为例,先下载镜像 docker pull potatoplay/starrocks-cluster-sync 1、如何把容器内目录挂载出来 容器内目录为: /opt/starrocks-cluster-sync/log 现在想把容器内目录挂载到宿主机
阅读全文
posted @ 2025-06-16 14:57
屠魔的少年
摘要:容器管理 docker run –help -d, --detach=false 指定容器运行于前台还是后台,默认为false -i, --interactive=false 打开STDIN,用于控制台交互 -t, --tty=false 分配tty设备,可以支持终端登录,默认为false -u,
阅读全文
posted @ 2025-06-16 14:56
屠魔的少年
摘要:mkdir /etc/docker/ cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://vm1wbfhf.mirror.aliyuncs.com", "http://f1361db2.m.daocloud.io"
阅读全文
posted @ 2025-06-16 14:55
屠魔的少年
摘要:1.在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库。 使用MySQL数据库首先需要安装驱动程序 pip install PyMySQL -i http://mirrors.aliyun.com/pypi/simple/ 2.在Django的工程同
阅读全文
posted @ 2025-06-16 14:53
屠魔的少年
摘要:You are trying to add a non-nullable field 'name' to contact without a default; we can't do that (the database needs something to populate existing ro
阅读全文
posted @ 2025-06-16 14:48
屠魔的少年
摘要:下载地址: https://github.com/alibaba/DataX 参考文档 :https://github.com/alibaba/DataX/blob/master/userGuid.md 工具部署 下载后解压至本地某个目录,进入bin目录,即可运行同步作业: $ python bin
阅读全文
posted @ 2025-06-16 14:45
屠魔的少年
摘要:mysql_init.sh #!/bin/bash . /etc/profile # 读库的变量 r_ip="10.20.30.28" r_port="3316" r_username="arch_wt" r_password="xxxxxx" # 写入库的变量 w_ip="10.20.30.28"
阅读全文
posted @ 2025-06-16 14:44
屠魔的少年
摘要:# 创建虚拟环境 virtualenv archery --python=python3 # 切换python运行环境到虚拟环境 source /opt/envs/archery/bin/activate # 退出虚拟环境 deactivate 启动goInception: 1.3.0 nohup
阅读全文
posted @ 2025-06-16 14:39
屠魔的少年
摘要:mysqlclient 换成下面: pip3 install mysqlclient==1.4.2.post1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 如果还不行,就到 https://pypi.org/project/mysqlclient/#fi
阅读全文
posted @ 2025-06-16 14:37
屠魔的少年
摘要:报错: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017' 解决办法: pip3 install urllib3=
阅读全文
posted @ 2025-06-16 14:36
屠魔的少年
摘要:archery报错: (2013, "Lost connection to MySQL server at 'waiting for initial communication packet', system error: 110") 说明MySQL存在大量错误连接,MySQL配置添加如下配置并重启
阅读全文
posted @ 2025-06-16 14:36
屠魔的少年
摘要:-- 查询用户id select * from sql_users where username='xxx' -- 查询拥有的权限 数据库级别:priv_type=1 表级别: priv_type=2 select * from query_privileges where user_name='x
阅读全文
posted @ 2025-06-16 14:33
屠魔的少年
摘要:archery实例、数据库名、表名、数据库物理文件大小(MB)、行数、数据空间(MB)、索引空间(MB)、碎片空间(MB)、碎片率(%)、创建时间、更新时间、是否删除 CREATE TABLE `database_table_max_top` ( `id` int(11) NOT NULL AUTO
阅读全文
posted @ 2025-06-16 14:30
屠魔的少年
摘要:KVM系统需求 官方推荐宿主机硬件需求 Host system requirements1.1核心2.2G内存3.6G硬盘 运行KVM虚拟机需求 KVM hypervisor requirements [root@localhost ~]# lscpu 虚拟化: VT-x #intel虚拟技术 检查
阅读全文
posted @ 2025-06-15 23:49
屠魔的少年
浙公网安备 33010602011771号