自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java核心-知识点汇总

作为一名程序员,需要不断地学习及更新自己的知识储备。前几天,我们老大面试一个十五年工作经验的程序员,基础知识记得模模糊糊,最新主流的微服务框架几乎不太了解,最终错失了这次到岗的机会。所以我决定整理一份Java方向的知识点,一方面是为了自己巩固学习,另一方面是免费给大家提供一套学习路线,我尽量以更容易理解,更容易上手实操的方式来讲解,如有疑问,有问必答,欢迎评论。

2023-06-27 10:15:32 64

原创 MariaDB InnoDB 空洞清理

内心非常忐忑,整个执行过程花了2小时,原本被清理的表占用了580个G左右,清理了900万左右的数据之后,执行了ALTER TABLE之后,新的表还有300多个G,也就是说在处理过程中,看着磁盘空间一点一点的减少(总共需要占用900多个G),心头慌得一批,担心服务器啥时候崩掉了。

2024-04-21 15:00:10 443

原创 Nginx无感升级至最新稳定版

今日公司内部有关部门,发现了系统正式环境服务器的一些安全隐患,其中就包括Nginx相关的漏洞零日漏洞(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。这种攻击往往具有很大的突发性与破坏性。当前Nginx版本:1.18.0升级之后的版本:1.24.0(官网最新稳定版)

2024-03-12 18:01:07 1486 1

原创 ClickHouse权限控制

在服务器任意路径下执行如下命令,获取密码加密密文1、取消<access_management>1</access_management>注释2、设置密码:密文:<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>明文:esc 退出编辑:wq!强制保存注:实时生效。

2023-09-06 11:35:21 913

原创 Java核心-Spring原理

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。

2023-08-17 20:00:24 167

原创 Java核心-Java基础

定义在方法中的类,就是局部类。如果一个类只在某个方法中使用,则可以考虑使用局部类。在类中增加 writeObject 和 readObject 方法可以实现自定义序列化策略。

2023-07-16 10:50:35 404

原创 Java核心-多线程并发

CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数 CAS(V,E,N)。V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。当且仅当 V 值等 于 E 值时,才会将 V 的值设为 N,如果 V 值和 E 值不同,则说明已经有其他线程做了更新,则当 前线程什么都不做。最后,CAS 返回当前 V 的真实值。CAS 操作是抱着乐观的态度进行的(乐观锁),它总是认为自己可以成功完成操作。

2023-07-16 09:06:01 513

原创 MariaDB到MySQL数据实时同步(多库/Canal版)

1、Canal可配置多个实例,此篇文章配置的是多个实例指定同一个IP地址及端口,实现的是从同一个数据库同步数据,因为每个实例可以指定主数据库的IP地址及端口号,从而实现获取多台服务器的binlog文件,那么就意味着可以解析不同服务器上面MySQL的数据2、在adapter中的配置文件可以指定多个数据源(但是这个数据源只能和实例的数据源一致)能指定数据源,那么就可以实现不同数据库(服务器都可以不一致,因为配了IP地址的)的数据获取。

2023-07-05 10:14:05 482

原创 Java核心-集合

集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。1、Collection:Collection 是集合 List、Set、Queue 的最基本的接口。2、Iterator:迭代器,可以通过迭代器遍历集合中的数据3、Map:是映射表的基础接口。

2023-06-30 14:46:32 59

原创 Docker中创建MySQL容器并搭建数据库主从

Docker中部署MySQL容器,并和MariaDB数据库建立主从关系

2023-06-28 16:36:36 410

原创 Java核心-JVM

相信程序员也不少听到JVM调优,它到底是个什么东西,接下来我将用最通俗易懂的方式为你揭晓答案。

2023-06-27 16:01:49 65

原创 MySQL至ClickHouse数据实时同步(MaterializeMySQL引擎版)

在ClickHouse中创建MaterializeMySQL数据库aaa,指向的数据源地址为MySQL中的aaa数据库,至此ClickHouse中的aaa数据库已经和MySQL中的aaa数据库创建了连接,并且拥有MySQL那边所有的表结构和数据。INSERT INTO ccc (name, age) VALUES('张三', 18);server-id=1 #MySQL Server的id,一般为服务器IP地址尾数。update ccc set name = '李四' where id = 1;

2023-06-21 15:06:19 1142

原创 ClickHouse、MariaDB、MySQL性能对比

create_time字段是yyyy-MM-dd HH:mm:ss格式的,所以用到了formatDateTime函数,此函数是ClickHouse中独有的,功能类似于MySQL中的dateFormat函数。为了公平起见,我在MySQL和MariaDB中添加了创建时间这个字段的索引,发现添加了索引之后查询是要快一些,但跟ClickHouse还是相差很大一个数量级。按照三个字段分组,分别计算总条数、总数、平均数,差距就出来了,ClickHouse干十秒,MySQL和MariaDB基本上干不出来了。

2023-06-20 19:08:00 341

原创 MariaDB到MySQL数据实时同步(单表/Canal版)

1、记住canal.deployer是作为一个canal的服务端,同时它也是源数据库的从库(自我伪装的)2、canal.deployer是作为一个从库的角色存在,所以它不能同时接收多个数据源的数据至同一个canal服务端3、canal.adapter可以称之为连接器,配置了源数据库信息以及目标数据库信息,并实现了数据实时同步。

2023-06-19 16:42:23 567

原创 ClickHouse引擎(你想要的都有)

如果需要处理的数据量很大,数据的写入程序通常是多线程执行的,那么此时就不能保障数据的写入顺序了。该引擎继承了MergeTree引擎,当合并 SummingMergeTree 表的数据片段时,ClickHouse 会把所有具有相同主键的行合并为一行,该行包含了被合并的行中具有数值数据类型的列的汇总值,即如果存在重复的数据,会对对这些重复的数据进行合并成一条数据,类似于group by的效果。当进行汇总数据操作时,可以通过改变查询方式,来过滤掉被删除的数据,只有相同分区内的数据才有可能被折叠。

2023-06-10 18:49:26 1505

原创 Mariadb实时同步数据至ClickHouse(最详细)

这一套数据同步目前只是实现了单表的实时同步,暂时还未研究通过多表或者整个库的实时同步,而且在做这一套东西的时候,想必也已经知道了ClickHouse在某些SQL语句上面还是有一些差异,所以这一套数据同步的中间件组合,是否支持所有的SQL语句,目前增删改是没有问题的,但是如果是修改表、drop、delete、truncate等操作呢,数据是否会同步,有待验证。3、Canal可以连接MySQL和ClickHouse,实现数据实时同步,但是MariaDB不支持,可以创建连接,但是有些SQL语法不支持,会报异常;

2023-06-08 18:00:26 289

原创 踩Mariadb和ClickHouse的坑

这种方式配置是成功了,成功启动了deployer和adapter,但是在做测试的时候,在Mariadb中insert、delete数据时,ClickHouse这边就开始报错了,类似报错如下,网上也没找到太多资料,就没研究了。安装了MySQL社区版,搭建了Mariadb至MySQL的主从,主从正常,接下来就是MySQL到ClickHouse的数据迁移工作,采用了第二个坑的方式,直接在MySQL中配置。通过创建复制管道,获取MySQL binlog日志,通过日志解析方式进行数据同步。# 这里一定是row格式。

2023-06-06 15:59:40 144

原创 clickhouse实时同步MySQL数据

另外,可以通过在clickhouse创建只读权限的数据库连接账号,即可控制双向数据同步时读写权限的区分了,MySQL自身就可以配置主从,如果使用MySQL从库来和clickhouse进行连接的话,必须要控制好读写权限,MySQL从库一旦写入数据之后,等到下一次主库同步数据至从库时,必然会导致MySQL主从断开,一定注意!1、使用clickhouse表引擎,直接从MySQL中读取数据(针对表),如果业务需求不是很复杂,可以选择此方式,需要哪张表就配置哪张表,操作简单,数据实时同步;4、在MySQL中查询。

2023-05-23 09:28:06 3819 2

原创 Nginx小白教程(超详细)

解释一下,客户端通过域名或者IP地址访问某个系统时,先是通过DNS解析域名请求到域名映射的服务器,服务器通过nginx的端口监听,捕捉这次请求,捕捉了请求之后,通过自身的代理功能,将请求转发至其他内网服务器,内网服务器同样也有nginx通过端口号监听转发进来的请求,将捕捉到的请求再映射到部署在服务器上面的一个或多个应用。解释一下,在conf.d文件夹中创建一个nginx1.conf文件,里面贴上如上配置,意为将server配置块加载到conf文件夹下的nginx.conf主配置中。配置nginx可用模块。

2023-05-21 16:37:06 271

原创 clickhouse安装教程(无坑教程,CentOS版本)

ulimit -aopen files----能打开的最大文件数max user processes----当前用户最大进程数。

2023-05-21 16:28:25 2294 1

原创 MySQL定时备份及清理脚本(一劳永逸)

du $backup_path/*$date* -sh | awk '{print "文件:" $2 ",大小:" $1}'sed -i 's/\r//g' 命令可以格式化sh文件,用法为:sed -i 's/\r//g' xxx.sh。save-all-data.sh 指定12:20和01:00定时间点执行,数据库异地备份。echo "$date 备份 $dbname($size) 成功"echo "$date 备份 $dbname 失败"echo "开始备份数据库: ${db[*]}"

2023-04-09 10:59:09 846

原创 Kafka+Zookeeper安装教程(最全)

cd /icc/toolsmkdir kafka全新安装的Centos-7 需要安装必要的依赖:yum install -y vim maven wget tar -zxvf kafka_2.12-2.8.0.tgzcd kafka_2.12-2.8.0vi config/server.properties在broker.id= 0 后面增加如下配置:advertised.listeners=PLAINTEXT://192.168.0.1:9092 这里的192.168.0.1替换为实际服务器ip, 此处端

2023-03-18 14:55:21 602

原创 Linux下安装及配置redis-5.0.3详细步骤

告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效。#当slave与master之间的连接断开或slave正在与master进行数据同步时,如果有slave请求,当设置为yes时,slave仍然响应请求,此时可能有问题,如果设置no时,slave会返回"SYNC with master in progress"错误信息。单位是毫秒,默认为30秒。

2023-03-17 10:37:28 814

原创 Redis cluster集群搭建教程

Redis 三主三从搭建教程。

2023-03-14 16:52:06 160

原创 MySQL中binlog过多的正确处理方式

MySQL读写量很大,导致了binlog日志量也很大,本来服务器专门用来做数据库服务器的,空间也是分到了2个T,最近发现服务器空间越来越小,于是排查到了是MySQL的数据路径下产生了太多太多的binlog文件,于是总结了此篇文章,正确处理正式环境binlog文件过多导致服务器空间不够的方式。

2023-03-12 16:56:30 4701

原创 Mysql性能优化(调优)

MySQL性能调优,部分参数分析,仅供参考,谨慎使用

2023-03-10 14:02:27 40

原创 MySQL2Oracle数据传输

一、创建Oracle数据库打开Database Configuration Assistant-&gt;选择创建数据库-&gt;一般用途或事务处理-&gt;数据库名-&gt;所有账户使用同一管理口令(输入自己的密码)-&gt;未提及的步骤点击下一步即可 Oracle的目标数据库创建完成二、navicat数据传输连接-&gt;Oracle-&gt;连接名随意,连接类型:Basic,主机或...

2019-01-21 11:04:38 819 1

原创 MySQL2SQLServer数据传输

一、Server management studio 17创建备用数据库1、下载并安装server management studio 17(SQLserver可视化工具)2、打开该工具点击连接-&gt;服务器类型选择数据库引擎,服务器名称是自动弹出的,身份验证选择windows身份验证-&gt;此时一个新的连接就创建了。3、依次点开上一步新建的连接,安全性-&gt;登录名-&gt;找...

2019-01-21 11:01:25 1239 1

原创 MySQL数据库主从(Master/Slave)配置详细步骤

Windows下搭建MySQL Master Slave一、背景服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切换,有什么好的方案呢?二、几种Master/Slave逻辑架构图(Figure1:单Master-单Slave)...

2019-01-17 11:07:02 7148 1

Java将Html源码转为图片及解析PDF文字内容依赖包

pdfbox-2.0.9.jar html2image-0.9.jar html2image-2.0.1.jar Java实现Html转图片Html2Image依赖包0.9和2.0.1版本 Java实现提取PDF中文本内容依赖包

2024-03-29

支付宝、微信支付Java对接教程.docx

最全支付宝、微信支付服务器端(java)代码详解,包含支付宝、微信支付的一些配置的详细步骤,支付宝、微信支付流程的代码及注释,支付宝、微信的限额及条件等。大家一起学习进步!

2020-01-03

eclipse+hadoop+wordCount+sort.docx

一套eclipse中的hadoop开发环境搭建教程,附带了eclipse中的hadoop的两个demo,一个是wordcount、一个是sort,大家一起学习进步!

2020-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除