0

最基础的分类统计SQL语句

原始数据如下:想要得到的结果:sql语句:select dw,count(distinct zy) as zycount from table group by dw

阅读全文>>

0

使用源码编译安装MySQL

前言环境准备源码编译安装下载MySQL源码解压源码文件开始编译操作安装MySQL数据库生成二进制安装包初始化MySQL创建系统用户执行数据库的初始化启动MySQL服务登录MySQL数据库总结前言前面的文章中,我们介绍了MySQL使用二进制文件安装的大致过程。今天我们来看下另外一种安装方式,那就是使用MySQL的源码自己编译安装MySQL。环境准备我们使用docker运行一个最新版本的centos镜像文件,然后基于这个运行中的容器进行编译,进入到容器中进行编译安装MySQL。在docker容器层面涉及到命令如下:# 从docker hub上拉取最新的centos镜像文件 docker pull ...

阅读全文>>

0

深入剖析 RSA 密钥原理及实践

一、前言在经历了人生的很多至暗时刻后,你读到了这篇文章,你会后悔甚至愤怒:为什么你没有早点写出这篇文章?!你的至暗时刻包括:1.你所在的项目需要对接银行,对方需要你提供一个加密证书。你手上只有一个六级英语证书,不确定这个是否满足对方需求。由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。2. 你老骥伏枥 2 个月,终于搞懂了.crt 格式证书。加入到新项目,项目在进行证书托管改造。哈哈,这题我会,就是把证书文件上传到托管系统。你对项目组成员大喝一声,放开那些证书,让我来!挤进去一看,是陈年老项目了,根本没有证书,当时使用是公钥和私钥,如何公钥和私...

阅读全文>>

0

不是吧?为了加快速度,Redis竟做了这么“疯狂”的设计

前言列表对象是 Redis 中 5 种基础数据类型之一,在 Redis 3.2 版本之前,列表对象底层存储结构有两种:linkedlist(双端列表)和 ziplist(压缩列表),而在 Redis 3.2 版本之后,列表对象底层存储结构只有一种:quicklist(快速列表),难道通过精心设计的 ziplist 最终被 Redis 抛弃了吗?列表对象同字符串对象一样,列表对象到底使用哪一种数据结构来进行存储也是通过编码来进行区分:编码属性描述object encoding命令返回值OBJ_ENCODING_LINKEDLIST使用 linkedlist 实现列表对象linkedlistOBJ...

阅读全文>>

0

redis存json数据时选择string还是hash

我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储。接下来我从占用空间和IO两方面来分析这两种类型的优势。1、占用空间根据数据结构的共识我们知道hashtable类型是要比string类型更占用空间, 而ziplist类型与string类型占用的空间基本相差不大。如下图就是ziplist的存储的格式那我们接下来分别分析redis的string和hash类型占用空间方面的知识string类型: string类型当然如其名,如果json数据以string类型去存储,那么它的空间占用方面肯定是相当的。hash类型: redis对hash类型是有两种编码方式...

阅读全文>>

0

SQL SERVER新建用户并授权及解决远程连接问题

直接用sa用户连接不安全,一般需要新建一个用户。一、新建一个用户并授权:--创建登陆帐户(create login)create login username with password='123456', default_database=master--为登陆账户创建数据库用户(create user),一般用户名跟登陆账户名一样create user username for login username with default_schema=dbo--通过加入数据库角色,赋予数据库用户“db_owner”权限exec sp_addrolemember 'db_owner', 'use...

阅读全文>>

0

Redis高可用架构演进

Redis系列第1篇Redis是目前使用最广泛的缓存程序之一,也被应用于多种场景,例如数据缓存、分布式锁等,Redis官方提供了多种部署架构,以满足不同应用场景下对于高可用和扩展性的要求。01单节点(single)单节点的部署是最简单的,只要启动一个redis进程就可以了,但是不具备高可用性,一般生产环境不建议使用,其主要有以下问题:单节点,一旦出问题,服务将会不可用【1】单节点读能力有限,无法扩展【2】单节点写能力有限,无法扩展【3】单节点的存储能力受到单机的限制【4】02主从复制(master-slave)由于单节点服务不可用问题【1】,Redis提供了主从复制的功能,使用主从复制模式,一...

阅读全文>>

0

数据库安全:数据库加密技术介绍

数据库加密是计算机系统对信息进行保护的一种最可靠的方法。它利用密码技术对信息进行加密,实现信息屏蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。常用的数据加密技术按照作用不同分为数据加密技术、数据存储加密技术、数据完整性鉴别技术、密钥管理技术。1、数据传输加密技术 数据传输加密技术的目的是对传输中的数据流加密,通常由线路加密与端到端加密两种。线路加密:主要侧重在线路上而不是考虑信源与信速,是对保密信息通过各线路采用不同的加密密钥提供安全保护。端到端加密:是指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过...

阅读全文>>

0

Redis集群的5种使用方式,及各自优缺点对比分析

本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析。一、常见使用方式Redis 的几种常见使用方式包括:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研二、各种使用方式的优缺点1、Redis 单副本Redis 单副本,采用单个 Redis 节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景。优点:架构简单,部署方便;高性价比:缓存使用时无需备用节点(单实例可用性可以用 supervisor 或 crontab 保证),当然为了满足业务的高可用性,也可以...

阅读全文>>

0

mysql中的各种日志文件

mysql在CentOS 7安装好之后,配置文件一般在/etc/my.cnf中。数据目录一般在/var/lib/masql下,其中包含一些日志文件。1)通用日志通用查询日志会记录用户的所有操作,其中还包含增删查改等信息。在并发操作大的环境下会产生大量的信息从而导致不必要的磁盘IO,会影响mysql的性能的。所以,默认情况下是关闭的。可以用 general_log={ON|OFF}控制通用日志的开关。2)错误日志记录msql错误日志,比如mysql崩了等系统错误,默认是开启的,而且从5.5.7以后无法关闭错误日志,错误日志记录了运行过程中遇到的所有严重的错误信息,以及 MySQL每次启动和关闭的...

阅读全文>>