- 博客(583)
- 资源 (1)
- 收藏
- 关注
原创 学习正则表达式 - 选择、分组和向后引用
选择操作、选项和修饰符、统计单词出现的行数、子模式、捕获分组和后向引用、命名分组、非捕获分组、原子分组、回溯
2023-05-02 12:52:08 1105 1
原创 学习正则表达式 - 边界
零宽断言、行的开始和结束、dotall 模式、单词边界和非单词边界、主题词的起始与结束位置、使用元字符的字面值、在段首加标签等
2023-04-27 11:31:59 1771
原创 学习正则表达式 - 简单模式匹配
介绍匹配字面值、匹配数字和非数字字符(\d \D)、匹配单词与非单词字符(\w \W)、匹配空白字符(\s \S)、匹配任意字符(.)、匹配单词边界(\b)、匹配零个或多个字符(.* .+)、单行模式与多行模式替换。常用的电子邮箱、emoji表情符号、IPv4地址、域名、HTTP URL、日期时间的正则表达式。
2023-04-25 09:29:35 1013
原创 redis全局遍历替换特征字符串
需求:将一个redis实例(如10.10.10.1:6379)范围内所有key值中的 .letssing.net 替换为 .kaixinvv.com。
2023-03-03 11:45:03 714
原创 MySQL全局遍历替换特征字符串
需求:将一个MySQL实例(如10.10.10.1:3306)范围内所有字段数据中的 .letssing.net 替换为 .kaixinvv.com。
2023-03-03 11:04:37 734
原创 MySQL 8 批量修改字符集脚本
从低版本迁移到MySQL 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) 错误,此时要修改对象的字符集。
2023-01-13 10:53:56 722
转载 innodb_flush_log_at_trx_commit和sync_binlog参数详解
innodb_flush_log_at_trx_commit和sync_binlog参数详解
2022-11-27 09:38:50 843
原创 在Greenplum(PostgreSQL)表中查询出所有包含emoji符号的数据
在Greenplum(PostgreSQL)表中查询出所有包含emoji符号的数据
2022-10-05 16:11:56 649
原创 ShardingSphere实践(9)——tpcc-mysql 压测
MySQL版本:5.7.34MySQL客户端与tpcc-mysql:172.18.16.156ShardingSphere-Proxy Cluster模式:172.18.10.66:3307;底层资源库:172.18.10.66:3306 db1、db2;
2022-08-14 11:53:17 876 3
原创 ShardingSphere实践(8)——影子库
目录一、功能详解1. 背景2. 核心概念3. 使用规范(1)支持项(2)不支持项二、实现细节1. 整体架构2. 影子规则3. 路由过程4. 影子判定流程(1)DML 语句(2)DDL 语句5. 影子算法(1)列影子算法(2)Hint 影子算法6. 使用案例(1)场景需求(2)影子库配置(3)影子库环境(4)影子算法使用三、用例测试1. 准备测试用例环境2. 建立影子库环境(1)开启sqlCommentParseEnabled(2)创建逻辑库(3)添加资源(4)创建影子库规则(4)创建缺省影子算法3. 影子库
2022-06-14 16:10:35 5539 2
原创 ShardingSphere实践(7)——数据加密
安全控制一直是治理的重要环节,数据加密属于安全控制的范畴。无论对互联网公司还是传统行业来说,数据安全一直是极为重视和敏感的话题。数据加密是指对某些敏感信息通过加密规则进行数据的变形,实现敏感隐私数据的可靠保护。涉及客户安全数据或者一些商业性敏感数据,如身份证号、手机号、卡号、客户号等个人信息按照相关部门规定,都需要进行数据加密。 对于数据加密的需求,在现实的业务场景中一般分为两种情况: 在真实业务场景中,相关业务开发团队则往往需要针对公司安全部门需求,自行实行并维护一套加解密系统
2022-06-13 17:17:41 3633 1
原创 ShardingSphere实践(6)——弹性伸缩
目录一、功能详解1. 背景2. 核心概念3. 使用规范二、实现细节1. 原理说明2. 执行阶段说明(1)准备阶段(2)存量数据迁移阶段(3)增量数据同步阶段(4)规则切换阶段3. 限流与熔断三、用例测试1. 数据迁移(1)准备测试用例环境(2)创建数据迁移作业(3)割接2. 数据库节点扩容(1)准备测试用例环境(2)创建数据迁移作业(3)割接参考: 对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一直以来都是一个迫切的需求。对于已经使用了ShardingSpher
2022-06-08 12:28:52 997
原创 ShardingSphere实践(5)——性能测试
从业务角度考虑,分为直连、单路由、主从、分库分表四个基本应用场景,对 ShardingSphere-Proxy 和 MySQL 进行性能对比。ShardingSphere官方文档中说明支持Sysbench和BenchmarkSQL 5.0,但是BenchmarkSQL 5.0本身不支持MySQL数据库(需要自行修改源码重新编译),因此别无选择只能使用Sysbench进行性能基准测试。 本次测试使用上篇“二、用例测试”的环境。BenchmarkSQL基准测试属于压测,为尽量减小复制延迟,将两个从
2022-06-04 08:19:58 1209 1
原创 ShardingSphere实践(4)——读写分离
ShardingSphere最重要的功能模块是数据分片,从规则到实现都比较复杂。其他功能相对来说比较简单,本篇介绍ShardingSphere的读写分离功能。 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 通过一主多从的配置方式,可以将查询请求均匀的分散到多个
2022-06-02 15:14:12 5169
原创 ShardingSphere实践(3)——数据分片
目录一、功能详解1. 背景2. 核心概念(1)表(2)数据节点(3)分片(4)行表达式(5)分布式主键3. 使用规范(1)SQL(2)分页二、实现细节1. 解析引擎(1)抽象语法树(2)SQL解析引擎2. 路由引擎(1)分片路由(2)广播路由3. 改写引擎(1)正确性改写(2)优化改写4. 执行引擎(1)连接模式(2)自动化执行引擎5. 归并引擎(1)遍历归并(2)排序归并(3)分组归并(4)聚合归并(5)分页归并三、用例测试1. 单表2. 广播表3. 只分库4. 只分表5. 分库分表(1)自动取模分片(2
2022-06-02 06:00:20 2611
原创 ShardingSphere实践(2)——ShardingSphere-Proxy集群式安装
目录一、安装规划1. 选择运行模式2. 主机规划二、搭建ShardingSphere-Proxy集群环境1. 安装JDK2. 安装ZooKeeper3. 安装ShardingSphere-Proxy4. 引入依赖三、验证ShardingSphere-Proxy集群环境1. 启动ShardingSphere-Proxy2. 验证客户端连接3. 验证ShardingSphere-Proxy集群高可用参考: 从上一篇介绍的产品路线已知,Sh...
2022-05-25 17:56:59 4662
原创 ShardingSphere实践(1)——ShardingSphere介绍
ShardingSphere的前身是Sharding-JDBC,它最早是当当网内部使用的一款分库分表框架,到2017年的时候开始对外开源,这几年在大量社区贡献者的不断迭代下,功能逐渐完善,后更名为ShardingSphere,2020年4月正式成为Apache软件基会的顶级项目。 随着版本不断更迭,ShardingSphere的核心功能也变得多元化起来。最开始Sharding-JDBC 1.x版本只有数据分片功能,到Sharding-JDBC 2.x版本开始支持数据库治理,...
2022-05-25 12:11:42 7367 2
原创 MySQL实现条件唯一性
在Oracle中可以使用函数索引来实现,例如:create unique index xpto_table_idx1 on xpto_table(case when status_x <>5 then obj_x else null end);当status_x<>5时,obj_x的值唯一,否则可以重复。在MySQL中不支持这样的功能,但可以通过虚拟列来实现。看下面一个简单例子。需求:表t1有a、b、c三列,a为主键,仅当t1.b=1时,t1.c的值唯一。实现:
2022-05-18 19:38:22 602
原创 RedisJSON安装
1. 前提redis 6.0及以上版本2. 下载下载地址:https://redis.com/redis-enterprise-software/download-center/modules/选择版本下载文件,如rejson.Linux-rhel7-x86_64.2.0.8.zip3. 加载在redis配置文件中,添加下面一行,加载解压后的rejson.so文件loadmodule /home/redis/rejson.so4. 验证启动redis,验证加载模块sudo
2022-05-17 07:13:23 1314
原创 文本文件清洗入库(MySQL)一例
一、需求 有一批文本文件如下:numt_qe_0411.txtnumt_qe_0412.txtnumt_qe_0413.txtnumt_qe_0414.txt... 每个文件的内容格式如下:9435446,问题1:,答案19575177,问题2? ,答案29575177,问题3? ,答案3... 可能存在以下几种情况:1. 文件中有空行2. 行中可能存在Tab符3. 可能存在错误折行的情况,如:9594287,您的性别:,男9...
2022-05-03 19:36:30 1130
原创 使用redis-dump-go导出数据
1. 下载https://github.com/yannh/redis-dump-go/releases/download/v0.7.0/redis-dump-go-linux-386.tar.gz2. 解压tar -zxvf redis-dump-go-linux-386.tar.gz3. 导出redis-dump-go -port 36380 -db 0 -filter u_l_his_new* -output commands -n 12 > u_l_his_new.txt4.
2022-04-16 13:28:12 814
原创 MySQL中查询哪些存储代码中写了IP地址
select * from information_schema.routines where routine_definition regexp '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$';select * from information_schema.triggers where action_statement regexp '^((25[0-5]|2[0.
2022-04-12 16:28:13 781
转载 用户留存率SQL题
原文:牛客每个人最近的登录日期(五)_牛客题霸_牛客网-- 方法一select t0.date,ifnull(round(count(distinct t2.user_id)/(count(t1.user_id)),3),0)from(select datefrom logingroup by date) t0left join(select user_id,min(date) as datefrom logingroup by user_id)t1on t0.date=
2022-04-01 14:57:02 288
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人