MySQL日志
1:MySQL日志日志文件中记录着 MySQL 数据库运行期间发生的变化。也就是说用来记录 MySQL 数据库的客户端连接状况、SQL 语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。
MySQL日志文件分为以下几种:
重做日志(redo log)
回滚日志(undo log)
二进制日志(binlog)
错误日志(errorlog)
慢查询日志(slow query log)
一般查询日志(general log)
中继日志(relay log)
2:binlogbinlog 是 MySQL server 层维护的一种二进制日志,这个文件记录了 MySQL 所有的 DML 操作。通过 binlog 日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。
复制:MySQL 在主库开启 binlog,主库把它的二进制日志传递给从库并回放来达到主从数据一致的目的。
数据恢复:指通过 mysqlbinlog 工具恢复数据。
增量备份:指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被 ...
URI和URL的区别
在定义变量时,面对URI和URL两个词我总是很疑惑,到底用哪个词才是正确的命名?于是我进行了一番搜索,在参考n篇文章后,写下这篇笔记。
首先引用百度百科关于URI和URL的定义URI/URN/URL统一资源标识符(Uniform Resource Identifier,URI)是一个用于标识某一互联网资源名称的字符串。统一资源名称(URN)是统一资源标识(URI)的历史名字,它使用urn:作为URI scheme。统一资源定位系统(uniform resource locator,URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。
URI和URN/URL的关系URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。
图片来自URL和URI的区别
URL包含以下信息:
用于访问资源的协议
服务器的位置(无论是通过IP地址还是域名)
服务器上的端口号(可选)
资源在服务器目录结构中的位置
片段标识符(可选)
例如:
1h ...
云盘
简介在一次的突发奇想中,我决定使用阿里云-OSS搭建一个属于自己的云盘。本文是对这个项目的回顾。提个小插曲:通过调用阿里写好的接口,后端很快就写完了。反而是前端的数据渲染把我难倒了(前端对我来说太难了)。
本项目使用:Layui,SpringBoot,LinuxGitee地址
后端作为一个后端程序员,首先解决的肯定是后端–文件查询,文件上传,文件下载三个接口,因为他简单啊。
依赖在和其他SpringBoot项目通用的依赖之外,还需要添加一个OSS依赖
12345<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.11.1</version></dependency>
只需要添加一个特殊依赖就行,是不是很简单
配置OSSClient实例开始编写接口之后,需要先进行一些准备工作:创建OSSClient实例。
12345678910 ...
nginx配置SSL
nginx如果使用https访问就需要配置SSL证书,而本文主要记录nginx如果配置SSL证书。
nginx安装ssl模块检测是否安装
1/usr/local/nginx/nginx -V
如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)。
进入nginx解压目录,添加ssl模块
1234# 进入你自己的nginx解压位置cd /usr/local/nginx-1.10.1./configure --with-http_ssl_module
执行以上一条命令出现(./configure:错误:SSL 模块需要 OpenSSL 库。),原因是因为缺少了 OpenSSL,那我们再来安装一个即可执行:yum -y install openssl openssl-devel 等待 OpenSSL 的安装完成后,再执行./configure
执行make命令重新编译((使用 make install 会重新安装 nginx),此时当前目录会出现 objs 文件夹。
123 ...
MySQL练习
题目1 查询” 01 “课程比 “ 02 “课程成绩高的学生的信息及课程分数
123456789SELECT A.*, B.cid, B.scoreFROM ( SELECT sid, cid, score FROM sc WHERE cid = "01" ) A LEFT JOIN ( SELECT sid, cid, score FROM sc WHERE cid = "02" ) B ON A.sid = B.sidWHERE A.score > B.score
1.1 查询同时存在” 01 “课程和” 02 “课程的情况
123456789SELECT A.*, B.cid, B.scoreFROM ( SELECT sid, cid, score FROM sc WHERE cid = "01" ) A LEFT JOIN ( SELECT sid, cid, score FROM sc WHERE cid = "02" ) B ON A.sid = B.sidWHE ...
MyBatis-Plus
1:Mybatis-Plus简介
官网文档
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
特性:
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采 ...
POI和EasyExcel
本博客代码已上传gitee仓库 失铭 / poi练习
简介POI介绍
apache官网百度百科:Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
基本功能:
结构:
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
EasyExcel介绍
EasyExcel官网
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。github地址:https://github.com/alibaba/easyexcel
Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存 ...
日志
JDK Logging从jdk1.4起,JDK开始自带一套日志系统。JDK Logging最大的优点就是不需要任何类库的支持,只要有Java的运行环境就可以使用。
日志能够很好的代替我们在调试过程的System.out.pringln(),日志能够避免反反复复添加输入语句的繁琐和更准确的输入想要的结果。日志的优点有很多:
可以设置输出样式,避免自己每次都写”ERROR: “ + var;
可以设置输出级别,禁止某些级别输出。例如,只输出错误日志;
可以被重定向到不同服务器,用于在控制台中显示,用于存储文件等;
可以按包名控制日志级别,只输出某些包打印的日志;
可以……
但是因为JDK Logging和其他的日志相比比较简陋,所以在商业中很少使用JDK logging
一种由7个日志级别
级别
含义
SEVERE
严重
WARNING
警告
INFO
信息
CONFIG
配置
FINE
良好
FINER
较好
FINEST
最好
默认情况下,只记录前三个级别,也可以调整其他级别,例:使用logger.setLevel(Level.FINE)调整 ...
MySQL索引
概念索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。
打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。
通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。
因此,使用索引可以很大程度上提高数据库的查询速度,还有效的提高了数据库系统的性能。
索引分类
普通索引:index:加速查找
唯一索引
主键索引:primary key:加速查找+约束(不为空且唯一)
唯一索引:unique:加速查找+约束 (唯一)
联合索引
primary key(id,name):联合主键索引
unique(id,name):联合唯一索引
index(id,name):联合普通索引
全文索引fulltext :用于搜索很长一篇文章的时候,效果最好。
空间索引spatial :了解就好,几乎不用
哪些类适合建立索引 ...
MySQL引擎
转自MyISAM与InnoDB 的区别(9个不同点)
前言MySQL中,常用的引擎主要就是2个:
InnoDB
MyIASM
MyISAM是默认存储引擎(Mysql5.1前)。由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良 。 每个MyISAM在磁盘上存储成三个文件,每一个文件的名字均以表的名字开始,扩展名指出文件类型。
InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。目前InnoDB采用双轨制授权,一是GPL授权,另一是专有软件授权。
InnoDB和MyIASM区别
MyIASM
InnoDB
事务支持
不支持
支持
外键约束
不支持
支持
索引结构
非聚集索引
聚集索引
保存行数
保存
不保存
全文索引
支持
不支持 ...