数据库
文章平均质量分 66
数据库
秦岭熊猫
喜欢运动,喜欢结交朋友,希望可以结识更多的志同道合的朋友一起学习成长。欢迎留言交流。联系邮箱:liinux@qq.com
展开
-
CentOS 7安装 MySQL 8 数据库
本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 7为例。1. 下载并安装 MySQL 官方的 Yum Repositorywget -i -c https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。yum -y install mysql80-community-r原创 2021-01-10 18:49:48 · 113 阅读 · 0 评论 -
mysql explain用法和结果的含义
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explainselectsurname,first_nameforma,bwherea.id=b.idEXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、in...原创 2020-12-26 21:08:20 · 111 阅读 · 0 评论 -
Mysql千万级数据查询优化技巧
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使原创 2020-12-26 21:06:35 · 191 阅读 · 0 评论 -
Windows系统下,tracert路由跟踪指令详解
在Windows系统下是执行Tracert的命令:Tracerthostname参数说明:tracert[-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name参数-d指定不对计算机名解析地址。-h maximum_hops指定查找目标的跳转的最大数目。-jcomputer-list指定在 computer-list 中松散源路由。-w timeout等待由 timeout 对每个应答指定的毫秒数。..原创 2020-08-12 23:30:17 · 74973 阅读 · 2 评论 -
Windows Server2012 64位安装OpenSSH服务
系统配置信息如下:新安装的系统,防火墙暂时关闭下载OpenSSH-Win32或OpenSSH-Win64 安装包,根据不同的系统选择不同的安装包,如果是64位系统,选择32位可以。下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases如果不能下载,可能是被墙掉了。下面附上网盘中的下载地址:https://pan.baidu.com/s/1zfzlzDMnxiulQy6ZjFGDKQ2. 下载完成后解压,修改解压后的文件夹名称为Op.原创 2020-08-12 23:24:14 · 7446 阅读 · 3 评论 -
MYSQL中TRUNCATE和DELETE的区别
MYSQL中TRUNCATE和DELETE都能够清理表中的数据,但是他们有什么区别呢?我们从下面的几点来分析:1. 条件删除这个比较好理解,因为DELETE是可以带WHERE的,所以支持条件删除;而TRUNCATE只能删除整个表。# delete - 条件删除DELETE FROM student WHERE id = 1;# delete - 删除整个表的数据DELETE FROM student;# truncate - 删除整个表的数据TRUNCATE TABLE stu原创 2020-08-09 17:49:27 · 174 阅读 · 0 评论 -
mysql 8.X主从复制
MySQL主从复制可实现数据的多处自动备份。不仅可以加强数据的安全性,通过实现读写分离还能提升数据库的负载性能。实现原理:MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中原创 2020-08-09 17:17:53 · 131 阅读 · 0 评论 -
Spring Boot + Spring-Kafka 异步配置
近日我们项目组采用 Kafka来做系统日志统一管理,但是天降横祸的让 Kafka集群(3台服务器)都挂了,堪比中大奖的节奏,随之而来的是使用 Kafka发送消息日志的服务全部卡死,经过排查发现居然是 Kafka当机导致了调用 Kafka发送日志服务一直处于阻塞状态。最后我们在检查代码的时候发现,如果无法连接 Kafka服务,则会出现一分钟的阻塞。以上问题有两种解决方案:一、开启异步模式 ( @EnableAsync )@EnableAsync@Configurationpublic...原创 2020-08-02 11:43:12 · 928 阅读 · 2 评论 -
mysql8 bigint类型和datetime类型的转换
TLDR在 Mysql 8 中使用 datetime 在 Mysql 5 中使用 bigint辨析timestamp这种数据类型的时间范畴有限,基本被淘汰了,不要考虑。datetime在 mysql 5 中,datetime 只能存储年月日时分秒,并不能存储毫秒,不够精确。而在 mysql 8 中,datetime 可以存储毫秒,推荐使用。bigint使用整数来保存 unix 时间戳是一个好想法。编程语言中的时间戳支持到毫秒位,要在 mysql 中进行存储的话,int 型大小原创 2020-06-07 20:20:15 · 1695 阅读 · 0 评论 -
MySQL 8.0窗口函数介绍(一)
一、窗口函数的使用场景作为IT人士,日常工作中经常会遇到类似这样的需求:医院看病,怎样知道上次就医距现在的时间?环比如何计算?怎么样得到各部门工资排名前N名员工列表?查找各部门每人工资占部门总工资的百分比?对于这样的需求,使用传统的SQL实现起来比较困难。这类需求都有一个共同的特点,需要在单表中满足某些条件的记录集内部做一些函数操作,不是简单的表连接,也不是简单的聚合可以实现的,通常会...原创 2020-04-08 23:43:39 · 197 阅读 · 0 评论 -
OGG工作原理(Oracle Golden Gate)
一.GoldenGate介绍OGG 是一种基于日志的结构化数据复制软件OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟二.工作原理三.相关组件1.Manager负责OGG 整体的监控和管理(1).Trail文件的生成和删除(2).定期监控进程,负责进程的启动/停止2.Extract(Capture)...原创 2020-04-07 23:42:20 · 2403 阅读 · 0 评论 -
多种数据库之间的同步工具SymmetricDS
原理: 通过触发器模式同步时,是将数据库的变化记录到某个系统表中,然后在客户端建立缓冲,并定期将变化push到接收端,接收端和发送端建立通道,并定期pull新的数据变化,并在目标数据库回放。--这个过程会有一定的延迟,和性能影响,但是只要数据库支持触发器,都可以使用SymmetricDS来做数据库同步。 另外一种模式记录SQL,并回放SQL,好像用很少。 还在开发的是解析日志,通...原创 2020-04-07 19:19:41 · 940 阅读 · 0 评论 -
MySQL唯一性插入数据的几种实现实现
在 MySQL 中,插入(insert)一条记录,经常需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作。mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下四种避免方法。1、insert ignore2、replace into3、insert on duplicate key update4、insert into if exists...原创 2020-03-13 18:41:54 · 3655 阅读 · 0 评论 -
Syncthing -- 开源的数据同步和云储存工具
Syncthing is acontinuous file synchronizationprogram. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserv...原创 2020-01-18 16:03:50 · 873 阅读 · 0 评论 -
SQL查询优化
案例:有一张流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);操作:查询条件放到子查询中,子查询只查主键ID,然...原创 2020-01-13 23:51:35 · 235 阅读 · 0 评论 -
H2数据库入门
H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。一、引入Maven依赖在maven中定义H2数据库的版本属性<properties> <h2.version>1.4.20...原创 2020-01-10 23:37:00 · 315 阅读 · 0 评论 -
一步一步打造基于TICK的工业级系统监控平台
TICK下载地址:https://portal.influxdata.com/downloads/入门概述 要求 InfluxDB设置 Kapacitor设置 Telegraf设置 Chronograf设置 入门概述Chronograf是InfluxData的TICK堆栈的用户界面组件。它使您的基础架构的监控和警报易于设置和维护。接下来的部分将使用尽可能少的配置...原创 2020-01-08 23:50:47 · 677 阅读 · 0 评论 -
时序数据库及应用场景介绍
一,时序数据库时间序列数据库简称时序数据库(Time Series Database),用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据的几个特点1. 基本上都是插入,没有更新的需求。2. 数据基本上都有时间属性,随着时间的推移不断产生新的数据。3. 数据量大,每秒钟需要写入千万、上亿条数据业务方常见需求1. 获...原创 2020-01-08 23:16:17 · 4078 阅读 · 0 评论 -
MySQL数据库索引优化实战分析
为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?撸起袖子就是干!案例分析我们先简单了解一下非关系型数据库和关系型数据库的区别。MongoDB是NoSQL中的一种。NoSQL的全...原创 2019-12-05 00:33:49 · 140 阅读 · 0 评论 -
Mysql数据库性能优化配置:my.cnf/my.ini配置说明详解(测试机器为16GB内存)
MYSQL服务器my.cnf配置文档详解硬件:测试机器内存16GB[client]port =3306socket =/data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user =mysqlport =3306socket =/data/3306/mysql.sockbasedir =/usr/local/...原创 2019-12-01 11:37:24 · 175 阅读 · 0 评论 -
Mybatis 数据库Mysql时间范围内数据查询非常慢的解决办法
表中数据量过大,目前已有300万条,查询user_name数据速度非常慢,如果不使用索引,想优化sql来提高查询速度,在调试过程中发现,写sql查询数据库时,传入时间段查询部分为:<!--大于开始时间--> and sw.TIME >=to_date(CONCAT('2018-09-10', '00:00:00'),'yyyy-mm-dd hh24:mi:ss')<...原创 2019-11-24 00:00:13 · 7277 阅读 · 0 评论 -
mysql基础教程
Mysql启动与停止启动mysql服务sudo /usr/local/mysql/support-files/mysql.server start停止mysql服务sudo /usr/local/mysql/support-files/mysql.server stop重启mysql服务sudo /usr/local/mysql/support-files/mysql.server...原创 2019-11-23 23:39:45 · 2366 阅读 · 0 评论 -
Mysql 对语句的长度有限制,默认是 4M
Mysql对 Mysql 进行同样的2000次批量插入,结果是完美执行。笔者一咬牙,来了次 200000 的亲密接触,结果 报错了!com.mysql.jdbc.PacketTooBigException: Packet for query is too large (8346602 > 4194304). You can change this value on the serv...原创 2018-12-24 23:52:54 · 10389 阅读 · 0 评论 -
Mybatis 实现MySQL的:无数据插入,有数据更新
一、插入一条数据,存在则忽略,不存在就插入(必须现有唯一键)使用insert ignore语句:insert ignore into table(col1,col2) values ('value1','value2');例如插入数据:insert ignore into user_info (last_name,first_name) values ('liu','yazhua...原创 2018-12-24 23:41:13 · 2622 阅读 · 0 评论 -
Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
Java中使用Mybatis批量插入数据时Mapper.xml中的sql如下:<insert id="batchSave"> into t_emp(emp_name,emp_email,dept_id) VALUES <foreach collection="list" item="emp" separator=","> (#{emp.empName}, #原创 2018-12-24 23:16:56 · 2458 阅读 · 0 评论