-
超详细的PG事务隔离级别总结,值得收藏
所属栏目:[MySql教程] 日期:2019-08-05 热度:129
今天主要介绍一下PG的事务隔离,事务隔离和锁机制是息息相关的,希望大家这两块都可以掌握。下面先看下SQL标准的四种隔离级别。 四种隔离级别 SQL标准定义了四种隔离级别。最严格的是可序列化,在标准中用了一整段来定义它,其中说到一组可序列化事务的任[详细]
-
后端程序员必备:MySQL数据库相关流程图/原理图
所属栏目:[MySql教程] 日期:2019-08-05 热度:162
前言 整理了一些Mysql数据库相关流程图/原理图,做一下笔记,大家一起学习。 1.mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要。 主从复制原理,简言之,就三步曲,如下: 主数据库有个bin-log二进制文件[详细]
-
收下这张小贴士,填补那些年在HQL注入留下的坑
所属栏目:[MySql教程] 日期:2019-08-03 热度:107
前言 SQL注入是一种大家非常熟悉的攻击方式,目前网络上有大量存在注入漏洞的DBMS(如MySQL,Oracle,MSSQL等)。但是缺少针对hibernate查询语言的相关资源,以期本文能给在渗透测试时能给各位多提供一条路。 HQL查询并不直接发送给数据库,而是由hibernate[详细]
-
如何在Ubuntu上安装MongoDB
所属栏目:[MySql教程] 日期:2019-08-03 热度:173
本教程介绍了在 Ubuntu 和基于 Ubuntu 的 Linux 发行版上安装 MongoDB 的两种方法。 MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比。 你很可能发现在现代 Web 应[详细]
-
详解MySQL高可用方案:MySQL MHA架构、原理、应用场景等
所属栏目:[MySql教程] 日期:2019-08-01 热度:189
概述 MySQL高可用,顾名思义就是当MySQL主机或服务发生任何故障时能够立马有其他主机顶替其工作,并且最低要求是要保证数据一致性。因此,对于一个MySQL高可用系统需要达到的目标有以下几点: 数据一致性保证--这个是最基本的同时也是前提,如果主备的数据[详细]
-
MySQL分库分表会带来哪些问题?
所属栏目:[MySql教程] 日期:2019-08-01 热度:117
分库分表能有效的环节单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。下面将描述这些技术挑战以及对应的解决思路。 1、事务一致性问题 分布式事务 当更新内容同时分布在不同库中,不可避免会带来跨库事务问[详细]
-
两款免费的MySQL性能监控工具
所属栏目:[MySql教程] 日期:2019-08-01 热度:175
MySQL管理和性能监控工具,能帮助你监控MySQL服务器,以及微调其性能和速度。众所周知,MySQL是功能强大的开源数据库系统,可让企业运行一系列不同的应用,如网站和ERP存储系统。MySQL是任何企业的关键资源,因为它可以保持应用的正常运行。而你需要找到合[详细]
-
分析两个主机和Oracle数据库巡检脚本,值得收藏
所属栏目:[MySql教程] 日期:2019-08-01 热度:51
分享一个之前我用来巡检主机和Oracle的脚本,不过输出结果不是很美观,内容还是可以的... 主机巡检脚本:OSWatcher.sh ps:这里的第10项,普通用户检查/var/log/messages很可能没有读权限,如有需要巡检此系统日志,建议切换root用户执行此脚本。 #!/bin/ba[详细]
-
测试数据库的稳定性和性能竟如此简单
所属栏目:[MySql教程] 日期:2019-08-01 热度:90
概要说明 使用 Jmeter来对数据库进行压测,可以有效测试数据库的稳定性和性能。相比用代码实现对数据库的压测来说,Jmeter更简单,方便,可操作性更好。 操作步骤 1.选择测试计划,添加架包mysql-connector-java-5.1.12-bin.jar到路径下,用于数据库MySql[详细]
-
微软宣布SQL Server 2019免费支持Java
所属栏目:[MySql教程] 日期:2019-08-01 热度:71
在 2018 年 9 月的时候,微软就宣布与领先的 Java 开源贡献者和发行商 Azul Systems 建立新的合作伙伴关系。这一关系允许所有 Azure 客户在微软和 Azul 联合提供的支持下,免费使用 Azul 的 Zulu for Azure-Enterprise Java 发行版 。 最近,微软宣布已经[详细]
-
超详细的数据库主机及数据库日志收集总结
所属栏目:[MySql教程] 日期:2019-08-01 热度:159
今天主要针对主机和数据库日志的一些收集做一下记录总结,下面一起来看看吧~ 一、主机系统日志收集: 创建主机日志收集目录: --Unix/Linux创建存放系统日志的文件夹: #mkdir-p/var/collect/OS 1. Linux Linux系统日志文件: /var/log/messages 将最近100[详细]
-
记一个 MySQL设计不合理地方:应用程序错误密码不断重连校验机制QL
所属栏目:[MySql教程] 日期:2019-08-01 热度:185
概述 最近修改了mysql数据库一个用户的密码,然后应用程序也改了对应密码,过了一段时间发现了一系列问题...下面介绍下整体的过程。 1、监控告警 从监控可以看到这台主机发生磁盘告警的问题。 2、查看服务器磁盘信息 登录这台服务器可以发现根目录磁盘满了[详细]
-
数据库软件架构,到底要设计些什么?
所属栏目:[MySql教程] 日期:2019-07-31 热度:144
一、基本概念 概念一:单库 概念二:分片 分片解决数据量太大这一问题,也就是通常说的水平切分。 一旦引入分片,势必面临数据路由的新问题,数据到底要访问哪个库。路由规则通常有3种方法: (1)范围:range 优点:简单,容易扩展。 缺点:各库压力不均(新[详细]
-
超详细的设置Oracle用户永不被锁教程分享
所属栏目:[MySql教程] 日期:2019-07-31 热度:128
最近有个需求是需要对Oracle某个用户设置输错密码也不被锁,整体原理是:新建一个profile,设置密码错误次数不限制,然后把用户的概要文件(profile)设置为新建的这个profile,下面介绍下设置的过程。 一、默认profile 一般数据库默认是10次尝试失败后锁住[详细]
-
服务器性能优化的8种常用方法
所属栏目:[MySql教程] 日期:2019-07-31 热度:165
1.使用内存数据库 内存数据库,其实就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内[详细]
-
如何快速定位MySQL 的错误日志(Error Log)?
所属栏目:[MySql教程] 日期:2019-07-29 热度:157
日志文件是MySQL数据库的重要组成部分,包括有6种不同的日志文件: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 这些日志可以帮助我们定位 mysqld 内部发生的事件,数据库性能故障,[详细]
-
如何避免回表查询?什么是索引覆盖? | 1分钟MySQL优化系列
所属栏目:[MySql教程] 日期:2019-07-29 热度:147
《迅猛定位低效SQL?》留了一个尾巴: selectid,namewherename='shenjian' selectid,name,sexwherename='shenjian' 多查询了一个属性,为何检索过程完全不同? 什么是回表查询? 什么是索引覆盖? 如何实现索引覆盖? 哪些场景,可以利用索引覆盖来优化SQL? 这[详细]
-
数据库集群方案及Oracle RAC架构分析
所属栏目:[MySql教程] 日期:2019-07-29 热度:97
应对业务量的不断增加场景通常有两个大方向,一种是纵向扩展,也就是增加单台服务器的CPU计算能力、内存容量和磁盘承载能力等;另外一种是横向扩展,也就是通过增加服务器的数量来增加处理能力。前者存在业务中断和扩展上限等诸多的问题,特别是互联网业务[详细]
-
两类非常隐蔽的全表扫描,不能命中索引(一分钟系列)
所属栏目:[MySql教程] 日期:2019-07-29 热度:80
《MySQL死锁分析的两个工具》中,举了一个强制类型转换导致死锁的例子,有朋友询问是不是类型转换都不能命中索引,花1分钟细说一下。 第一类:列类型与where值类型不符,不能命中索引,会导致全表扫描(full table scan)。 数据准备: createtablet1( cellv[详细]
-
100亿数据,非“双倍”扩容,如何不影响服务,数据平滑迁移?
所属栏目:[MySql教程] 日期:2019-07-29 热度:155
上次《百亿级数据DB秒级平滑扩容!》之后,很多朋友提问,说如果不是双倍扩容,能否做到平滑迁移,不影响服务呢? 适用什么场景? 互联网有很多数据量较大,并发量较大,业务复杂度较高的业务场景,其典型系统分层架构如下: (1)上游是业务层biz,实现个性化[详细]
-
四个步骤让你彻底明白Redis到底快在哪里
所属栏目:[MySql教程] 日期:2019-07-27 热度:193
前言 Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。Redis还提供了键过期,发布订阅,事务,Lua脚本,哨兵,Cluster等功能。Redis执行命令的速度非常[详细]
-
MySQL和PG到底哪个更好用?
所属栏目:[MySql教程] 日期:2019-07-27 热度:54
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。 MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库?MySQL还是PostgreSQL呢?该选择哪个开源数据[详细]
-
MySQL--RDS下的分区表实践
所属栏目:[MySql教程] 日期:2019-07-26 热度:87
实践背景 项目中有的表空间太大,且行数太多,故决定对一些表进行分库分表。再研究选型方案的时候发现常用的一些分库分表的解决方案对业务代码修改较多,故决定采用MySQL的分区方案。 其实在我个人看来,分区表就是MySQL帮我们实现了底层的分库分表,不需[详细]
-
这两个小技巧,让SQL语句不仅躲了坑,还提升了1000倍
所属栏目:[MySql教程] 日期:2019-07-26 热度:123
本次来讲解与 SQL 查询有关的两个小知识点,掌握这些知识点,能够让你避免踩坑以及提高查询效率。 1、允许字段的值为 null,往往会引发灾难 首先,先准备点数据,后面好演示 createtableanimal( idint, namechar(20), index(id) )engine=innodb; index(id)[详细]
-
如何利用工具,迅猛定位低效SQL? | 1分钟系列
所属栏目:[MySql教程] 日期:2019-07-26 热度:198
《两个工具分析SQL死锁》 《SQL空值带来的大坑》 两个案例分析,展现了MySQL性能分析工具explain的强大。 《同一个SQL语句,为啥性能差异咋就这么大呢?》 详细叙述了explain结果中最重要的type字段(连接类型)的含义。 其实,explain结果中还有一个Extra字[详细]