数据库
lizz666
不积跬步无以至千里
展开
-
Mysql:删除字段DROP COLUMN和修改字段UPDATE SET phone=NULL区别
在大表中,想要快速的去除某个字段中的内容,会开率到多种方案,第一是删除某个字段,而是将字段内容置空。原创 2023-06-01 16:14:28 · 438 阅读 · 0 评论 -
SQL中使用GROUP_CONCAT根据顺合并字段使用ORDER BY
需要个妞group进行分组,根据priority顺序显示user。原创 2023-04-23 15:23:51 · 465 阅读 · 0 评论 -
sql:掩码场景替换字段中的某几位
将字符串'123456'中第2位开始的4个字符串,替换成'****',得到1****6。sql提供insert(str,b,l,s)函数包含4个参数。第二个参数:从字符串的第几位开始替换,起始位为1。需要在现有的用户数据表中增加一个手机号掩码字段。第一个参数:需要转换的字符串。第三个参数:要替换几位字符。第四个参数:替换成的字符串。原创 2023-03-20 14:42:57 · 822 阅读 · 0 评论 -
Elasticsearch(ES)配置及优化
在Elasticsearch中,索引的大小和存储能力取决于多个因素,包括文档大小、索引的分片数、硬件规格、查询负载和其他因素。索引和分片配置:索引和分片的数量和配置会对查询并发性能产生影响。如果索引和分片的数量太少,可能会导致查询性能不佳,而如果数量过多,可能会增加网络和节点之间的通信开销。因此,需要根据实际的查询负载和数据量进行合理的索引和分片规划。硬件资源:硬件资源,如CPU、内存、磁盘I/O等也会影响查询并发性能。原创 2023-02-15 14:08:54 · 2671 阅读 · 0 评论 -
Mysql软硬件配置关注点
mysql软硬件配置原创 2023-02-15 13:15:29 · 1328 阅读 · 0 评论 -
启动WARN:This primary key of “id“ is primitive !不建议如此请使用包装类 in Class原因分析
项目启动时出现异常。keyType.isPrimitive(),当对象主键类型是原始类型时,报出错误提示。mybatis-plush框架对数据类型进行判断。将对象中的主键改为非原始类型即可。原创 2023-02-13 15:40:20 · 7275 阅读 · 2 评论 -
PgSql时间格式转换
数据中存入的数据是int类型,为timestamp时间戳格式如1671087614022,需要将数据进行可读性转换。原创 2022-12-16 18:29:50 · 6738 阅读 · 0 评论 -
mysql自增序列重置0开始
mysql自增序列重置原创 2022-07-26 17:09:26 · 495 阅读 · 0 评论 -
mysql数据库information_schema,表信息,字段信息,权限信息等
PS:应有写数据可能比较大最好叫上where条件,或者limit返回条数。查询库中所有表信息,可以增加条件筛选select * from information_schema.tables where table_schema='lizz_db';查询库中所有字段信息,可以增加条件筛选select * from information_schema.columns where table_schema='lizz_db';数据库实例中数据库信息select * from infor原创 2022-05-31 11:31:44 · 331 阅读 · 0 评论 -
mysql插入错误:1110-Column ‘id‘ specified twice和1064-you can‘t set value for Autoincrement column
现象在使用insert或replace插入数据时,出现异常。INSERT INTO `lizz`.`user` (`id`,`name`) values(1,'lizz')异常:replace语句异常1110 - Column 'id' specified twiceinsert语句异常:1064 - In insert Syntax, you can't set value for Autoincrement column!原因分析1110错误提示原因为id字段重原创 2022-05-26 10:18:16 · 8469 阅读 · 0 评论 -
Canal查看instance消费位点信息
使用zkcli命令连接集群zk get命令查看/otter/canal/destinations/{instance}/1001/cursor节点信息,instance为canal instance名称。get /otter/canal/destinations/ins-lizz/1001/cursor{ "@type": "com.alibaba.otter.canal.protocol.position.LogPosition", "identity": { .原创 2022-05-06 17:47:32 · 631 阅读 · 0 评论 -
Mysql锁查看
查看当前所有事务select * from information_schema.innodb_trx;查看正在锁的事务select * from information_schema.innodb_locks;查看等待锁的事务select * from information_schema.innodb_lock_waits;查看表锁show open tables where In_use>0;查看死锁show engine innodb statu原创 2022-04-29 15:35:57 · 1125 阅读 · 0 评论 -
Canal监控数据采集展示prometheus+grafana
Prometheus采集- job_name: 'canal' static_configs: - targets: ['10.2.55.30:11112','10.2.55.31:11112'] # canal server metric地址Grafana展示模板源码地址canal/deployer/src/main/resources/metrics/Canal_instances_tmpl.json{ "__inputs": [ { ..原创 2022-04-25 18:13:38 · 1042 阅读 · 0 评论 -
Canal adapter处理过程源码解析
CanalAdapterLoader.init:启动初始化 AdapterProcessor.start:开启处理器 AdapterProcessor.process:消费处理器 AdapterProcessor.writeOut:处理同步消息 AdapterProcessor.batchSync:使用配置的多个OuterAdapter处理器处理消息 OuterAdapter.sync:处理器处理内容,如LoggerAdapterExample、ESAdapter等 CanalMsgConsum原创 2022-04-25 17:56:53 · 498 阅读 · 0 评论 -
Canal Client Adapter消息Dml格式说明
在adapter配置中outerAdapters使用logger可以看到输出的dml内容canalAdapters: - instance: canal_15_test31 # canal 实例名或者 MQ topic 名 groups: # 适配器组,支持多个不同入库数据源 - groupId: lizz-test2 # 分组id, 如果是MQ模式将用到该值 outerAdapters: # 分组内适配器列表 - name:原创 2022-04-25 17:38:52 · 565 阅读 · 0 评论 -
canal instances启动异常:show binlog events limit 1 has an error
现象在instances配置指定binlog消费时,没指定binlog文件时,如只指定了起始消费时间,出现了读取异常。# binlog的pos位点信息canal.instance.master.address=10.2.55.55:3306#mysql起始的binlog文件canal.instance.master.journal.name= #mysql起始的binlog偏移量canal.instance.master.position= #mysql起始的binlo...原创 2022-04-21 18:37:56 · 1319 阅读 · 0 评论 -
Mysql存储过程和定时任务
存储过程DROP PROCEDURE IF EXISTS canal_test; # 删除存储过程CALL canal_test(); # 调用存储过程CREATE PROCEDURE canal_test() #创建存储过程#存储过程内容BEGIN #开始 update users set mileage=(select SECOND(NOW()));END #结束定时任务# 开启定时任务SET GLOBAL event_scheduler = ON;#原创 2022-04-15 18:05:06 · 1020 阅读 · 1 评论 -
mysql批量执行sql
通过存储过程批量修改数据while循环DROP PROCEDURE IF EXISTS canal_test; # 删除存储过程 DELIMITER // # 设置分割符1CREATE PROCEDURE canal_test()BEGINDECLARE i INT DEFAULT 0;WHILE i<=10 DO update users set mileage=i;SET i = i+1;END WHILE;END//DELIMITER ; # 设原创 2022-04-14 16:58:06 · 1368 阅读 · 0 评论 -
Canal数据同步使用手册1.1.5
CanalAdapter1.1.5版本问题收集 Canal最新1.1.4版安装部署(1) Canal adapter1.1.5安装部署es为例(3) Canal Adapter1.1.5版本API操作服务,手动同步数据(4)原创 2021-01-18 18:21:29 · 2006 阅读 · 0 评论 -
Canal1.1.5最新版安装部署及详细配置(1)
下载安装包,版本根据情况自行调整,最新版本参考:https://github.com/alibaba/canal/releases wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz原创 2021-01-09 11:04:19 · 7224 阅读 · 0 评论 -
java获取数据库时间Date数据时间晚12或13小时现象分析
场景在查询mysql数据时,发现Date字段内容时间比数据库中的实际要晚11个小时。排查分析跟踪查询代码发现,对于Date类型数据去值时,使用了druid中的getTimestamp方法。com.alibaba.druid.poolpublic final class DruidPooledResultSet extends PoolableWrapper implements ResultSet { public Timestamp getTimestamp...原创 2022-04-11 18:48:09 · 2832 阅读 · 0 评论 -
hbase命令snapshot快照使用
hbase.snapshot.enabled配置是否开启,默认true开启。创建快照为表‘lizz:lizz_table’创建名为‘lizz_table_bck_1’的快照snapshot 'lizz:lizz_table','lizz_table_bck_1'恢复快照首先禁用表,再进行恢复disable 'lizz:lizz_table'restore_snapshot 'lizz_table_bck_1'克隆一个新表使...原创 2022-02-18 17:35:14 · 1691 阅读 · 0 评论 -
Hbase2.x安装
下载安装包版本地址Index of /apache/hbasewget https://mirrors.bfsu.edu.cn/apache/hbase/2.4.9/hbase-2.4.9-bin.tar.gz --no-check-certificate--no-check-certificate :跳过安全证书校验解压安装包tar xzvf hbase-2.4.9-bin.tar.gz修改环境变量打开配置文件vim /etc/profile添加内容...原创 2022-01-21 20:05:26 · 1600 阅读 · 0 评论 -
hbase shell常用操作命令
进入hbase命令行hbase shellNamespace操作查看namespace列表list_namespacenamespace描述信息describe_namespace 'lizz'创建namespacecreate_namespace 'lizz'删除namespace,namespace下不能有tabledrop_namespace 'lizz'设置namespace描述项,设置描述项admin为lizzalter_namespace 'l.原创 2022-01-14 14:44:38 · 1183 阅读 · 0 评论 -
mybatis-plus批量处理方法
场景在使用mybatis-plus作为数据客户端时,批量处理也需要用起对应的方法。参考官网:CRUD 接口 | MyBatis-Plus编码接口实现/** * @description: ErmUser 表映射,与数据库表进行对应。 * @TableName 映射数据库表名,不写将进行转换。ErmUser转为erm_user * @TableField 映射数据库表中字段名,不写将进行转换 */@Data@TableName("users")public class Er原创 2021-10-26 16:29:43 · 3614 阅读 · 0 评论 -
spring boot和mybatis-plus动态数据源
maven依赖Spring Boot默认连接池为HikariCP,一般也是完全够用的,切速度比druid快,但是druid扩张性较强,且国内比较喜欢使用,这里使用druid做用例。版本根据可以使用最新版本 <!--spring mybatis-plus动态数据源--> <dependency> <groupId>com.baomidou</groupId> <ar原创 2021-10-25 18:52:29 · 407 阅读 · 0 评论 -
mybatis-plus异常:dynamic-datasource can not find primary datasource
现象使用mybatis-plus多数据源配置时出现异常com.baomidou.dynamic.datasource.exception.CannotFindDataSourceException: dynamic-datasource can not find primary datasource分析异常原因是没有设置默认数据源,在类上没有使用@DS指定数据源时,默认会加载master数据源,但是在配置中没有使用master配置,类似下面的用法,@Componentpublic原创 2021-10-22 18:49:02 · 49861 阅读 · 10 评论 -
jsqlparser解析sql获取表名,字段等
在项目中需要多sql进行统一拦截处理,但是传入的sql千奇百怪,并有一些逻辑判断,如只对哪张表处理之类,因此需要对sql进行解析后,进行相关逻辑处理。这里使用 jsqlparser 工具进行sql解析。原创 2023-04-14 15:25:50 · 3700 阅读 · 1 评论 -
mybatisplus拦截器处理处理sql
场景在项目中,会出现一些对sql处理的需求,如果sql操作很多,为了简化处理,可以在sql执行的时候加入一个拦截器,并对将要执行的sql进行统一的处理。这里已使用了mybatisplus客户端为例的实现方式。代码实现maven引入依赖jar,数据库配置就不写这了。 <dependency> <groupId>com.baomidou</groupId> <artifactId>m原创 2021-09-29 16:57:43 · 10491 阅读 · 0 评论 -
Spring客户端连接Hbase操作
环境配置hbase-client.jar引入 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.4.5</version> <!--log4j有安全隐患,排除原创 2021-09-14 15:45:30 · 498 阅读 · 0 评论 -
mysql中备份复制table表和数据
场景一:备份表复制表结构和数据都一样的表方法一:CREATE TABLE t_lizz_bck select * from t_lizz说明:将t_lizz表备份到t_lizz_bck中。异常:1786 - Statement violates GTID consistency: CREATE TABLE ... SELECT因为默认开启了enforce_gtid_consistency功能,可以设置ENFORCE_GTID_CONSISTENCY = off进行关闭再执.原创 2021-07-16 14:54:34 · 339 阅读 · 0 评论 -
MYSQL中GROUP_CONCAT多条记录合并成一个字段及长度限制调整
效果正常查询多条记录select level from t_level合并结果select GROUP_CONCAT(level) from t_level约束GROUP_CONCAT函数默认返回最大1024字符show variables like "group_concat_max_len";调整方案方法一(推荐):在mysql的配置文件中加入如下配置:group_concat_max_len = 10240方法二:执行SQL语句,my..原创 2021-06-21 18:22:35 · 672 阅读 · 0 评论