数据库
文章平均质量分 82
caodongfang126
这个作者很懒,什么都没留下…
展开
-
MYSQL读写分离,主从复制的原理
作为一名java程序员,求职面试时时常会遇到类似这样的问题:你有没有做过MySQL读写分离?如何实现MySQL的读写分离?说说MySQL主从复制原理?如何解决 MySQL主从同步延时问题?1、MySQL的读写分离说到读写分离,我们先了解下什么是主从复制。主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。一台服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中,并会维护文件的一个索引用来跟踪转载 2020-06-09 08:27:35 · 433 阅读 · 0 评论 -
MySQL事务日志
作者 | Amazing10还记得刚上研究生的时候,导师常挂在嘴边的一句话,“科研的基础不过就是数据而已。”如今看来,无论是人文社科,还是自然科学,或许都可在一定程度上看作是数据的科学。倘若剥开研究领域的外衣,将人的操作抽象出来,那么科研的过程大概就是根据数据流动探索其中的未知信息吧。当然科学研究的范畴涵盖甚广,也不是一两句话能够拎得清的。不过从这个角度上的阐述,也只是为了引出数据的重要性。在当今社会,充斥着大量的数据。从众多APP上的账户资料到银行信用体系等个人档案,都离不开对大量数据的组织、转载 2020-06-06 23:13:25 · 1310 阅读 · 1 评论 -
分库分表带来的问题
一.分库分表带来的问题分库分表能有效的环节单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。下面将描述这些技术挑战以及对应的解决思路。1、事务一致性问题分布式事务当更新内容同时分布在不同库中,不可避免会带来跨库事务问题。跨分片事务也是分布式事务,没有简单的方案,一般可使用"XA协议"和"两阶段提交"处理。分布式事务能最大限度保证了数...原创 2019-12-06 14:58:19 · 1000 阅读 · 0 评论 -
想用数据库“读写分离” 请先明白“读写分离”解决什么问题
有一些技术同学可能对于“读写分离”了解不多,认为数据库的负载问题都可以使用“读写分离”来解决。这其实是一个非常大的误区,我们要用“读写分离”,首先应该明白“读写分离”是用来解决什么样的问题的,而不是仅仅会用这个技术。什么是读写分离?其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。一个...转载 2019-12-06 14:43:04 · 262 阅读 · 1 评论 -
分库分表
技术选型 既然要分库分表那数据库集群是少不了的,那我们的项目怎样和这些集群打交道呢?我调研了大概分为以下几种来完成这个功能(仅仅针对java项目) 中间件 例如淘宝开源的cobar,以及后来开源社区根据cobar做二次开发的Mycat(个人建议如果使用中间件的话可以考虑Mycat) Jar形式的开源工具 ...原创 2019-12-05 17:59:07 · 106 阅读 · 0 评论 -
Mysql主从复制(实时热备)原理与配置
MySQL主从可以实现MySQL的读写分离,简言之,master上进行写操作,同步数据库,slave上进行读操作,可以极大的提升性能,降低服务器负载。术语:主从复制——master slave replication(M-S模式)。用途备份 读写分离 高可用和故障切换(需要做HA) MySQL升级测试原理实际上,它的原理思路很简单。MySQL 中有一种日志叫做 bin 日志(二...原创 2019-12-05 15:56:20 · 159 阅读 · 0 评论 -
数据库mysql读写分离实现方案
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,此时可以考虑通过添加数据库节点来使其达到提升性能的目的通常有以下常见几种方案。 读写分离 打开一个帖子内容页,需要select帖子表,和帖子评论表,每个耗时10ms的话。每秒1000次查询就是这个数据库的极限了。也就是说,这个论坛只能承载每秒500次访问。那么我们就可以...原创 2019-11-28 15:45:53 · 524 阅读 · 0 评论 -
数据库高可用
数据库的工作原理数据库内部其实有缓冲区,在缓冲区中的数据是待处理的数据,数据库源源不断地从缓冲区中获取数据进行处理,但是如果并发压力高了,会造成数据缓冲区数据溢出,最终导致数据库宕机,不能正常响应。这种现象无法根治,只能想办法缓解。那么有什么好的策略呢?数据库要实现高可用需要解决如下的问题1数据库的信息如何实现同步2用户如何选择连接哪个数据库3数据库宕机后如何实现高可用(尽可...转载 2019-11-09 11:12:12 · 239 阅读 · 0 评论 -
MySQL百万级数据分页查询及优化
方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃....转载 2019-07-02 08:52:13 · 612 阅读 · 0 评论 -
Spring Boot 整合mybatis 使用多数据源的实现方法
整合其实整合很简单,如果是用gradle的话,在build.gradle文件里加入? 1 compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1') 如果是用maven的话在pom.xml文件里加入单库配置:引入之后,默认情况下,Spring Boot会自...转载 2019-06-27 14:45:26 · 353 阅读 · 0 评论 -
MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法
MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法环境:linux,mysql5.5.21错误:Host is blocked because of many connection errors; unblock with 'mysqladmi...转载 2019-07-01 11:02:47 · 385 阅读 · 0 评论 -
Mysql几种索引类型的区别及适用情况
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的...转载 2019-07-01 11:03:37 · 112 阅读 · 0 评论 -
SQL常见优化Sql查询性能的方法
看到一篇非常全面的SQL优化文章,在开发的工作中往往不考虑性能上的缺失(在一开始的时候数据量不大也看不出速度上的区别)。但写的越多越应该规范一下写法。数据库的优化问题一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速...转载 2019-08-22 14:02:56 · 345 阅读 · 0 评论 -
数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
背景对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池。 NOTE: 本文所有测试均是MySQL库测试结论 1:性能方面hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益于最大限度的避免锁竞争。 2:druid功能最为全面,sql拦截...转载 2019-09-17 10:19:13 · 101 阅读 · 0 评论 -
数据库连接池的几个参数-以tomcat-jdbc举例
在某次大范围网络变更中,有些应用出现了数据库连接在网络恢复后不能自动恢复的情况,只有重启解决。这一般是数据库连接池配置不合理引起的,那么我们就拿tomcat-jdbc为例看看数据库连接池配置的一些注意事项。对于数据库连接这种比较重的资源,我们在使用中一般都会进行池化,也就是我们会将创建好的数据库连接放到池子里,当我们需要使用的时候从池子里取,而不是创建新的(当然,是不是创建新的也要看连接池的配...转载 2019-09-17 14:51:40 · 882 阅读 · 0 评论 -
PowerDesigner:数据库设计
使用PowerDesigner做数据库设计,主要用到两个大的模型,第一个是CDM,第二个是PDM。使用步骤大抵如下,先创建CDM,然后把CDM转化成PDM,最后把PDM转化成数据库sql执行语句,还可以把PDM转化成word可视化数据库文档。可执行的sql语句和可视化word文档是做设计的最终成果,sql语句用于创建数据库,可视化word文档用于团队成员的沟通、开发及后期维护。PowerDesig...原创 2019-05-29 10:09:31 · 759 阅读 · 0 评论 -
数据库建模三步骤:概念模型->逻辑模型->物理模型
设计数据库有如下6个主要步骤:1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;5、系统实施:组织数据入库、编制应用程序、试运行;6、运行维护:系统投入运行,长期的维护工作...原创 2019-05-29 09:46:48 · 30742 阅读 · 0 评论 -
mysql数据库,存储过程中如何判断游标Cursor中结果集是否为空
1.mysql存储过程drop procedure if exists curdemo CREATE PROCEDURE curdemo(pid int)BEGIN DECLARE notfound INT DEFAULT 0; #定义一个辅助变量用于判断 DECLARE a int; #定义游标输出值赋予的变量 DECLARE ...原创 2016-09-20 16:47:42 · 12171 阅读 · 0 评论 -
mysql数据库-常用函数
mysql常用函数转载 2016-09-30 17:28:28 · 363 阅读 · 0 评论 -
MySQL存储过程详解 mysql 存储过程
MySQL存储过程详解mysql存储过程 mysql存储过程详解1.存储过程简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。...原创 2016-09-20 15:13:23 · 1437 阅读 · 0 评论 -
Spring数据库数据源JDBC连接池连接MySQL的超时问题
Spring数据库数据源JDBC连接池连接MySQL的超时问题,Spring 数据库数据源DBCP配置说明原创 2016-10-08 10:56:15 · 8156 阅读 · 0 评论 -
DBCP连接池原理分析
DBCP连接池原理分析转载 2016-10-08 11:26:24 · 353 阅读 · 0 评论 -
让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
手机端插入Emoji表情,保存到数据库转载 2016-11-29 11:24:05 · 521 阅读 · 0 评论 -
数据库主键到底是用自增长(INT)好还是UUID好
数据库主键转载 2017-08-09 12:01:05 · 18297 阅读 · 2 评论 -
Twitter的分布式自增ID算法snowflake (Java版)
Twitter的分布式自增ID算法snowflake转载 2017-08-09 13:07:50 · 502 阅读 · 0 评论 -
Mybatis使用PageHelper步骤
Mybatis使用pageHelper步骤1.在pom.xml中添加如下依赖:dependency> groupId>com.github.pagehelpergroupId> artifactId>pagehelperartifactId> version>最新版本version>dependency> 2.配置拦截器插件,有两种方法:转载 2017-09-05 16:33:27 · 2622 阅读 · 0 评论 -
msql的root账号忘记密码,修改root密码'mysqld_safe'
'mysqld_safe' 不是内部或外部命令,也不是可运行的程序 或批处理文件一:问题描述忘记root密码了,想修改下密码,结果使用mysqld_safe命令时报错:二:出错原因估计是windows版的MySQL没有mysqld_safe这个命令。三:解决办法用mysqld --skip-grant-tables替代具体步骤如下:1:关转载 2017-08-18 18:51:14 · 1759 阅读 · 0 评论 -
数据库拆分案例
数据库拆分案例杭州湖畔网络技术有限公司是一家专业提供SaaS化电商ERP服务的创业公司,主要用户群体为经营淘宝、天猫、京东等主流电商平台、自建商城、线下渠道的商家及中小企业。作为SaaS服务提供商,服务数万乃至数十万级用户是业务架构初期就必须考虑的问题。庞大的用户群以及海量的用户数据意味着基础设施的构建必须兼顾高效与稳定,而按照通用的基础设施建设方案的话,需要面对成本过高、实现复杂、需要投转载 2017-12-14 10:47:41 · 534 阅读 · 0 评论 -
数据库分布式架构巧设计
数据库分布式架构巧设计摘要: 在阿里云生态日,袋鼠云首席数据库架构师赵晓宏分享了《高容量大并发数据库服务——数据库分布式架构设计》。他从分布式需求、拆分原则、拆分难点及解决方案、数据库规范设计、运维相关五个方面进行了分享。在分享中,他主要介绍了水平拆分的原则以及解决方案,分享了DRDS的架构与实践。在阿里云生态日,袋鼠云首席数据库架构师赵晓宏分享了《高容量大并发数据库服务——数据库转载 2017-12-14 11:04:48 · 2711 阅读 · 0 评论 -
在Linux系统的命令行中为MySQL创建用户的方法
在Linux系统的命令行中为MySQL创建用户的方法这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行。每个MySQL用户帐号都有许多与之相关连的属性,例如用户名、密码以及权限和资源限制。"权限"定义了特定用户能够在MySQL服务器中转载 2017-12-07 15:21:20 · 669 阅读 · 0 评论 -
linux下安装mysql
【mysql】linux下安装mysqlmysql在linux下的安装1、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com...原创 2019-04-17 17:32:23 · 200 阅读 · 1 评论 -
查看mysql数据库连接数、并发数相关信息。
查看mysql数据库连接数、并发数相关信息。MySQL服务器原创 2016-10-09 10:33:07 · 50306 阅读 · 1 评论