![](https://img-blog.csdnimg.cn/83f2357cdc6c4661b01abc4777878982.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 80
MySQL、Oracle、MariaDB、DB2、SQL Server、PostgreSQL ...
鱼找水需要时间
千里之行,积于跬步;万里之船,成于罗盘
展开
-
MongoDB高并发性能问题解决方案
MongoDB是一个流行的开源文档型数据库,它使用类似 JSON 的文档模型存储数据,这使得数据存储变得非常灵活。 MongoDB 是一个基于文档的 NoSQL 数据库,由 MongoDB Inc. 开发。 MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。原创 2024-08-26 06:00:00 · 47 阅读 · 0 评论 -
数据库开发中比较少用的功能
数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。 通常由 数据库管理系统 (DBMS) 来控制。 在现实中,数据、DBMS 及关联应用一起被称为数据库系统,通常简称为数据库。原创 2023-12-30 07:30:00 · 848 阅读 · 16 评论 -
DBA-MySql面试问题及答案-下
MySQL 是一个 DBMS(数据库管理系统),由瑞典 MySQLAB 公司开发,目前属于 Oracle 公司,MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发者都选择 MySQL 作为网站数据库。MySQL 使用 SQL 语言进行操作。原创 2023-12-23 21:00:00 · 1018 阅读 · 2 评论 -
DBA-MySql面试问题及答案-上
MySQL 是一个 DBMS(数据库管理系统),由瑞典 MySQLAB 公司开发,目前属于 Oracle 公司,MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发者都选择 MySQL 作为网站数据库。MySQL 使用 SQL 语言进行操作。原创 2023-12-23 14:30:00 · 2387 阅读 · 2 评论 -
程序员的50大MongoDB面试问题及答案
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库原创 2023-12-23 07:45:00 · 1633 阅读 · 0 评论 -
mysql主从复制(基于docker容器化)
拉取镜像不多说,直接从run开始,使用版本mysql 5.71. 新建主服务器容器实例3307docker run -p 3307:3306 --name mysql-master \-v /mydata/mysql-master/log:/var/log/mysql \-v /mydata/mysql-master/data:/var/lib/mysql \-v /mydata/mysql-master/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root.原创 2022-01-19 21:46:17 · 183 阅读 · 1 评论 -
Docker安装 Mysql主从同步
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Mysql主从原创 2022-09-18 20:42:21 · 2480 阅读 · 8 评论 -
redis cluster(集群)模式-基于docker 哈希槽分区
哈希槽分区在数据和节点之间又加入了一层,把这层称为哈希槽(slot),用于管理数据和节点之间的关系,现在就相当于节点上放的是槽,槽里放的是数据。一个集群只能有16384个槽,编号0-16383(0-2^14-1)。这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。解决了节点和槽的关系后,接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384。以槽为单位移动原创 2022-01-20 13:19:41 · 1032 阅读 · 0 评论 -
Docker安装tomcat, mysql,redis(单机版)
步骤搜索镜像拉取镜像查看镜像启动镜像 服务端口映射停止容器移除容器tomcat安装docker search tomcatdocker pull tomcatdocker images tomcat// tomcat镜像创建容器实例(也叫运行镜像)docker run -it -p 8080:8080 tomcatdocker run [OPTIONS]-p 小写,主机端口:docker容器端口-P 大写,随机分配端口i:交互t:终端d:后台即可通过 http:原创 2022-01-19 17:48:59 · 809 阅读 · 1 评论 -
大数据数据库增量日志采集之Canal
canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费原创 2023-02-08 22:41:21 · 2562 阅读 · 35 评论 -
数据库如何加密连接
通过阿里巴巴开源的 Druid 实现 MySQL 的密码加密,Druid 的加密过程无需编写任何代码,只需要添加 Druid 依赖,再通过 Druid 的工具类生成密文,最后将密文配置到 application.yml 文件即可。项目在运行时会通过拦截器将密文转换成真正的密码,从而实现了 MySQL 密码的加密和解码的过程。原创 2022-12-23 20:26:34 · 5994 阅读 · 53 评论 -
ShardingSphere打造高性能架构模式
Apache ShardingSphere 由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。原创 2022-09-18 17:22:50 · 2683 阅读 · 9 评论 -
mysql 8.0中 树形数据的查询
mysql 8.0中 树形数据的查询自顶向下查询子树自底向上查找所有节点根据子节点id向上查找 WITH recursive原创 2022-09-04 14:34:01 · 3597 阅读 · 11 评论 -
HBase API
HBase的客户端连接由ConnectionFactory类来创建,用户使用完成之后需要手动关闭连接。同时连接是一个重量级的,推荐一个进程使用一个连接,对HBase的命令通过连接中的两个属性Admin和Table来实现。在resources文件夹中创建配置文件hbase-site.xml,添加以下内容。注意会报错javax.el包不存在,是一个测试用的依赖,不影响使用。使用类单例模式,确保使用一个连接,可以同时用于多个线程。创建类HBaseDML。...原创 2022-07-20 07:00:00 · 747 阅读 · 0 评论 -
HBase 快速入门(安装和命令操作)
scan是扫描数据,能够读取多行数据,不建议扫描过多的数据,推荐使用startRow和stopRow来控制读取的数据,默认范围左闭右开。能够展示HBase中所有能使用的命令,主要使用的命令有namespace命令空间相关,DDL创建修改表格,DML写入读取数据。delete表示删除一个版本的数据,即为1个cell,不填写版本默认删除最新的一个版本。也可以修改读取cell的版本数,默认读取一个。get最大范围是一行数据,也可以进行列的过滤,读取数据的结果为多行cell。...原创 2022-07-19 07:00:00 · 1282 阅读 · 0 评论 -
HBase 简介
ApacheHBase是以hdfs为数据存储的,一种分布式、可扩展的NoSQL数据库。原创 2022-07-18 07:00:00 · 883 阅读 · 0 评论 -
SpringBoot 如何统计、监控 SQL运行情况?
Druid注意:application.yml上述配置文件的参数可以在 和 中找到;可以通过 的方式来启用相应的内置Filter,不过这些Filter都是默认配置。如果默认配置不能满足需求,可以放弃这种方式,通过配置文件来配置Filter,下面是例子。目前为以下 Filter 提供了配置支持,根据(spring.datasource.druid.filter.*)进行配置。不想使用内置的 Filters,要想使自定义 Filter 配置生效需要将对应 Filter 的 ena...原创 2022-07-14 07:00:00 · 3340 阅读 · 0 评论 -
Elasticsearch和MySQL数据同步(logstash-input-jdbc)全量增量方式同步近千万数据
同步方案:同步读写:最为简单的方式在将数据写到mysql时,同时将数据写到ES,实现数据的双写。异步双写(MQ方式):MQ的性能基本比mysql高出一个数量级,所以性能可以得到显著的提高。定时器程序:相关表中增加一个字段为timestamp的字段,任何crud操作都会导致该字段的时间发生变化,原来程序中的CURD操作不做任何变化;增加一个定时器程序,让该程序按一定的时间周期扫描指定的表,把该时间段内发生变化的数据提取出来;逐条写入到ES中。binlog日志:读取mysql的binlog日志,获取指原创 2022-04-10 00:00:10 · 7126 阅读 · 2 评论 -
MySql常用函数(逻辑判断,字符串处理,日期函数)FIND_IN_SET、IF、ISNULL、IFNULL、NULLIF、SUBSTR、SUBSTRING_INDEX、CONCAT、LENGTH
数据库版本:MySql 5.7FIND_IN_SET**定义:**在逗号分隔的字符串列表中查找指定字符串的位置FIND_IN_SET(str,strlist)FIND_IN_SET()函数接受两个参数:第一个参数needle是要查找的字符串。第二个参数haystack是要搜索的逗号分隔的字符串列表FIND_IN_SET()函数根据参数的值返回一个整数或一个NULL值:如果needle或haystack为NULL,则函数返回NULL值。如果needle不在haystack中,或者ha原创 2022-04-09 09:47:35 · 4780 阅读 · 0 评论 -
MySql字符串拆分实现split功能(字段分割转列、转行)
需求描述数据库中 num字段值为:实现的效果:需要将一行数据变成多行实现的sqlSELECT SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',help_topic_id+1),',',-1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,.原创 2022-04-08 21:05:35 · 102534 阅读 · 18 评论 -
SQL 多表联合查询的几种方式
来源:blog.csdn.net/zt15732625878/article/details/79074123前言连接查询是关系数据中最主要的查询,包括内连接、外连接等。通过连接运算符可以实现多个表查询。正文连接查询主要分为三种:内连接、外连接、交叉连接。内连接使用比较运算符(包括=、>、<、<>、>=、<=、!> 和!<)进行表间的比较操作,查询与连接条件相匹配的数据。根据所使用的比较方式不同,内连接分为等值连接、自然连接和自连接三种。关键字原创 2022-04-04 13:42:02 · 24771 阅读 · 1 评论 -
Mysql修改时区(时间差8小时)
1、首先查看MySQL当前的时间SELECT now();show variables like "%time_zone%";time_zone 用来设置每个连接会话的时区,默认为system时,使用全局参数system_time_zone的值。system_time_zone 系统时区,在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system_time_zone的值。2. 进行修改set global time_zone = '原创 2022-03-22 22:31:11 · 6994 阅读 · 0 评论 -
MySql通过父id递归向下查询子节点
不用写存储过程,不用建数据库函数,一段sql就可以实现不用写存储过程,不用建数据库函数,一段sql就可以实现不用写存储过程,不用建数据库函数,一段sql就可以实现SELECT ID.LEVEL, DATA.* FROM ( SELECT @ids AS _ids, ( SELECT @ids := GROUP_CONCAT( region_id ) FROM region WHERE FIND_IN_SET(parent_id, @ids ) ) AS cids, @l := @原创 2022-03-17 17:02:53 · 6907 阅读 · 6 评论 -
MySQL表结构导出Excel、导出Word
源作者该工具主要用于导出excel、word,方便快速编写《数据库设计文档》,同时可以快速查看表的结构和相关信息。链接:https://pan.baidu.com/s/1x3boDOpDtP9F-66YLbpLMw提取码:3lh0说明文档功能速览连接主页基本功能展示运行方式1.双击2.java -jar *.jar也支持一些皮肤总体来说,比利用word宏功能导出数据库表结构好用太多啦...原创 2022-03-13 14:34:58 · 4184 阅读 · 2 评论 -
Redis 缓存和 MySQL 如何实现数据一致性
需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能出现数据不一原创 2022-02-08 16:02:46 · 3261 阅读 · 0 评论 -
Oracle表空间的理解和使用
SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。 ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、原创 2022-01-26 14:37:14 · 4397 阅读 · 0 评论 -
Oracle根据时间查询
1. 查询时间段之内的数据查询2021-01-01 至 2021-01- 02 的数据SELECT *FROM t_table1 tWHERE t.d_time >= to_date('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND t.d_time <= to_date('2021-01-02 23:59:59', 'yyyy-mm-dd hh24:mi:ss');以下SQL,只会查询2021-01-01和2021-1-2原创 2022-01-26 14:10:12 · 23759 阅读 · 0 评论