
mysql
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
MySQL5.6 PERFORMANCE_SCHEMA 说明
背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.5默认是关闭的,需要手动开启,在配置文件里添加:[mysqld]performance_schema=ON转载 2017-01-04 19:26:40 · 535 阅读 · 0 评论 -
MySQL 主从架构配置详解
无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能。MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写分离,在较大程度上避免数据丢失、数据库服务器压力过大甚至宕机带来的损失。使用MySQL 主从架构一年多了,想起当年学习这些东西的时候,苦于完整的中文资料比较少,当时英文又不太好,遇到不少问题。刚好转载 2017-01-10 20:05:43 · 349 阅读 · 0 评论 -
最全面的 MySQL 索引详解
什么是索引?1、索引索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中。2、索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引由数据库中一列或多列组合而成,其作用是提高对表中数据的查询速度索引的优点是可以提高检索数据的速转载 2017-01-10 20:09:53 · 407 阅读 · 0 评论 -
mysql备份的三种方式详解
一、备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务;恢复的对象,是整个库,多个表,还是单个库,单个表。三、备份的类型 1、根据是否需要数据库离线冷备(cold backup):转载 2017-01-11 16:21:14 · 9759 阅读 · 1 评论 -
Mysql 8.0 新增特性
1. 数据字典新增了事务型的数据字典,用来存储数据库对象信息之前,字典数据是存储在元数据文件和非事务型表中的2. 账号权限管理添加了对 “角色” 的支持,角色会对应一套权限,角色可以被添加、删除,角色上的权限也可以进行增删可以对用户账号添加和删除角色3. InnoDB 提升完善了对自增计数器(auto-increment counter)的管理,例如设置转载 2017-02-07 16:28:17 · 576 阅读 · 0 评论 -
SQL注入
SQL注入 SQL注入,就是通过在系统UI界面的表单填写带有slq语言的特殊字符串对系统数据库进行攻击的一种SQL命令。简单点说,就是一个系统的安全性如果不够好的话,很容易被有心人利用SQL语言编写字符串对系统进行攻击。例子[plain] view plain copy print?Insert into TableName(field na转载 2017-02-08 08:50:36 · 282 阅读 · 0 评论 -
京东MySQL数据库主从切换自动化
一、产生背景随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统。二、实现原理此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统转载 2017-02-08 16:45:03 · 358 阅读 · 0 评论 -
MySQL 中使用什么数据类型表示时间
在这篇文章中,我将解释 MySQL 原生的方案,并给出一个最常用数据类型的对比表。我们也将对一些典型的查询做基准测试,然后得出在给定场景下应该使用什么数据类型的结论。如果你想直接看结论,请翻到文章最下方。原生的 MySQL Datetime 数据类型Datetime 数据表示一个时间点。这可以用作日志记录、物联网时间戳、日历事件数据,等等。MySQL 有两种原生的类型可以将这种信息转载 2017-02-20 19:07:13 · 823 阅读 · 0 评论 -
从运维角度浅谈 MySQL 数据库优化
一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段:1、数据库表设计项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计。对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验。影响转载 2017-02-13 09:14:48 · 601 阅读 · 0 评论 -
冻结时间倒数前一小时,记一次步步惊心的SQL优化
9月版本是一个大版本,上上下下都在紧锣密鼓地张罗着。 9月10日版本上线,8日开始,能明显的感觉到大战前战鼓擂动人喊马嘶的紧张氛围。项目组人头簇动,奔走如织;邮箱内,关于BUG单通报及处理意见的邮件,在这个骄阳似火的南方,犹如冷冽寒冬时北方的雪花般漫天纷飞。 14:40 主动出击 快下午三点钟的时候,一片雪花悄然飘落在我的身上: 务必转载 2017-02-21 16:33:04 · 484 阅读 · 0 评论 -
全栈必备——MySQL性能调优
对于全栈而言,数据库技能不可或缺,关系型数据库或者nosql,内存型数据库或者偏磁盘存储的数据库,对象存储的数据库或者图数据库……林林总总,但是第一必备技能还应该是MySQL。从LAMP的兴起,到Mariadb的出现,甚至PG的到来,熟练的MySQL技能都是大有用武之地的。MySQL数据库技术的方方面面也是很多,这里只涉及必备的性能调优,推崇从下向上的性能调优,主要包括运行环境,配置参数,SQ转载 2017-01-10 20:04:20 · 667 阅读 · 0 评论 -
淘宝内部分享:怎么跳出MySQL的10个大坑
MySQL · 性能优化· Group Commit优化背景关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。众所周知,在MySQL5.6之前的版本,由于引入了Binlog/InnoDB的XA,Binlog的写入和InnoDB commit完全串行化执行,大概的执行序列如下: InnoDB prepare (持有prepare_commit_mute转载 2017-01-10 20:02:52 · 344 阅读 · 0 评论 -
MongoDB学习
(尊重劳动成果,转载请注明出处:http://blog.youkuaiyun.com/qq_25827845/article/details/54235091 冷血之心的博客)MongoDB学习(二)常用操作MongoDB学习(三)索引、备份、恢复和导入导出操作MongoDB学习(四)安全和认证、主从集群、副本集和分片操作 MongoDB是一种非关系型数据库(NoSql)转载 2017-01-10 11:21:24 · 420 阅读 · 0 评论 -
mongodb
简介MongoDB[1] 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。mongoDBMongoDB[2] 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查转载 2017-01-06 16:28:17 · 496 阅读 · 0 评论 -
101个MySQL的调节和优化技巧
MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。MySQL 服务器硬件和操作系统调节:1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中转载 2017-01-06 20:25:50 · 241 阅读 · 0 评论 -
mysql库与表的概念
MySQL是一个大数据库。有的数据库里面个有种各样的数据。如果不按照规定划分好会显得看起来很乱。凡是东西都要通过整理才能规矩,每一堆数据整理到了一起,然后,所以有了产生了表与库这个东西。我们创建网站的时候都会现在数据库里创建一个库,每一个库的数据都对应着一个网站的数据。创建了这个库表明了我们接下在的数据都要在这个库里存放了,也算是提前做好了一个储物柜。创建库的方法create datab转载 2016-12-30 13:31:35 · 361 阅读 · 0 评论 -
mongodb简单测试增删改查
(1)由于mongoDB的shell是一个功能完备的JavaScript,所以可以运行javascript程序:[html] view plain copy > x=200 200 > x 200 > x/5 40 > y=x+100 300 > z=y/x 1.5 [html] view plain copy原创 2017-01-07 14:05:05 · 471 阅读 · 0 评论 -
ubuntu安装mongodb教程
1首先我们使用root账号登陆系统,并打开终端。然后在终端处输入:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 意思为:添加ubuntu软件仓库的认证。2然后输入命令:echo “deb http://repo.mongodb.org/apt/debian whe原创 2017-01-07 14:06:20 · 562 阅读 · 0 评论 -
PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
PHP 扩展mongon.mod.dll下载http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.windows然后php.ini添加 extension=php_mongo.dll最后phpinfo() 查找到表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongo转载 2017-01-07 14:08:48 · 641 阅读 · 0 评论 -
大众点评订单系统分库分表实践
背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未来十年转载 2017-02-05 14:26:56 · 978 阅读 · 0 评论 -
唯品会的订单分库分表实践总结以及关键步骤
随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。唯品会旧订单库包含几十张订单相关表,旧订单库是典型的一主多从架构;主库容量已接近服务器物理空间上限,同时也已经达到MySQL的处理上限,很快将无法再处理新增订单。旧订单库面临的问题有:1、超大容量问题订转载 2017-02-05 14:55:48 · 897 阅读 · 0 评论 -
电商系统订单分表方案怎么设计更好
题目背景:之前做电商运营,打算转行做开发,参加了几个面试,几乎每家都会问到大数据量时的解决方案。暂时不讨论问这个题目的合理性,既然有需求,那自己就加强吧。所以基于目前个人做的一个系统,计划向大数据量做扩展设计。涉及的业务场景:(1)市场中有多个卖家(seller),可查看、处理包含该卖家商品的订单(order)(2)买家(user)可查看跟踪自己的订单订单表设计方案及查转载 2017-02-05 14:56:29 · 10620 阅读 · 2 评论 -
windows php5.4 配置 mongodb 扩展(附各种其它版本下载地址)
参考:http://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.htmlhttp://www.jb51.net/article/51601.htm1 安装mongodb服务器(1)去下载页面下载windows下的包https://www.mongodb.org/downloads#production转载 2017-02-23 14:08:09 · 638 阅读 · 0 评论 -
埋在MYSQL数据库应用中的17个关键问题!
Mysql的使用非常普遍,跟mysql有关的话题也非常多,如性能优化、高可用性、强一致性、安全、备份、集群、横向扩展、纵向扩展、负载均衡、读写分离等。要想掌握其中的精髓,可得花费不少功力,虽然目前流行的mysql替代方案有很多,可是从最小成本最容易维护的角度而言,mysql还是首选。下面从应用场景的角度切入,对mysql的技术点进行组织,写一份知识图谱,方便“下学期(2017年)”进行更深入的学习转载 2017-04-28 17:57:40 · 758 阅读 · 0 评论 -
浅析MySQL JDBC连接配置上的两个误区
相信使用MySQL的同学都配置过它的JDBC驱动,多数人会直接从哪里贴一段URL过来,然后稍作修改就上去了,对应的连接池配置也是一样的,很少有人会去细想这每一个参数都是什么含义。今天我们就来聊两个比较常见的配置——是否要开启autoReconnect和是否缓存PreparedStatement。一、autoReconnect=true真的好用么?笔者看到过很多MySQL的URL里都是这转载 2017-04-06 17:26:35 · 3609 阅读 · 0 评论 -
MongoDB 分片管理
在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分,MongoDB保证各个分片之间不会有重复的数据,所有分片保存的数据之和就是完整的数据集。分片集群将数据集分布式存储,能够将负载分摊到多个分片上,每个分片只负责读写一部分数据,充分利用了各个shard的转载 2017-06-29 13:04:24 · 479 阅读 · 0 评论 -
有效的编写SQL
编写有效的SQL查询是企业软件世界中最大的难题之一。每个公司在数据库开发项目中所面临的最根本的问题,在于开发环境中实现的性能不能在生产环境中实现。一般来说,存在性能损失是因为生产环境中的数据量要大得多。这些问题(运行缓慢的数据库操作)可能有各种各样的原因。本文将解释如何在编写查询时进行思考,如何思考是最基本的问题,也是解决此类问题的起点。观察发现SQL开发人员常使用过程方法转载 2017-07-10 16:27:19 · 738 阅读 · 0 评论 -
MySQL简单主从方案及暴露的问题
1、概述从本篇文章开始我们将花一定的篇幅向读者介绍mysql的各种服务集群的搭建方式。大致的讨论思路是从最简的MySQL主从方案开始介绍,通过这种方案的不足延伸出更复杂的集群方案,并介绍后者是如何针对这些不足进行改进的。MySQL的集群技术方案特别多,这几篇文章会选择一些典型的集群方案向读者进行介绍。2、MySQL最简单主从方案及工作原理我们讲解的版本还是依据目前在生产环境转载 2017-06-30 15:38:09 · 398 阅读 · 0 评论 -
[MySQL 5.6优化] -- limit x,x 优化
**待优化SQL: **我们来分析下这条SQL存在的问题是什么?每条SQL都要进行limit 分页 1000 ,每次SQL扫描的时候都会多扫描出来1000依次类似 每个SQL1+1000+SQl n 1000扫描的行数越来越多,SQL执行越来越慢那么我们这个时候应该如何进行优化呢? 1.查看表结构:接下来看一下SQL:SQL2:SQL1:limit 13000,1000转载 2017-07-10 18:04:40 · 566 阅读 · 0 评论 -
mysql/SQL查询优化,数据量比较大
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id fro转载 2018-01-11 16:10:38 · 833 阅读 · 0 评论 -
mysql性能优化简单步骤
只有当查询优化,索引优化,库表结构优化齐头并进时,才能实现mysql高性能。在尝试编写快速的查询之前,需要清楚一点,真正重要是响应时间。 查询的生命周期:通常来说,查询的生命周期大致可以按照顺序来看:从客户端->服务器->然后再服务器上进行解析->生成执行计划->执行->并返回结果给客户端。其中"执行"可以认为是整个生命周期最重要的阶段,这其中包括了大量为了转载 2018-01-11 16:12:41 · 429 阅读 · 0 评论 -
mysql简单数据库分表操作
最近公司的某一表单因为数据量有点小大,经常因为那个啥全表查询操作产生内存溢出,简单来说,就是数据库经常罢工,然后嘞就打算分一下表。具体的那些高大上的理论知识咱是说不来。就简单为大家介绍一下本人所做的分表的一个思路哈。 首先嘞,考虑一下现实因素,我们公司这边呢,数据库是跟不上如此大的查询操作,就算是查询优化,也还是避免不了业务需求。有的时候他就是需要全表扫描,来做数据分析,或者优化处理。所以嘞,就原创 2018-01-18 13:43:57 · 1415 阅读 · 1 评论 -
MySQL 8.0 的关系数据库新特性
MySQL 8.0 当前的最新版本是 8.0.4 rc,估计正式版本出来也快了。本文介绍几个 8.0 在关系数据库方面的主要新特性。你可能已经知道 MySQL 从版本 5.7 开始提供了 NoSQL 存储的功能,在 8.0 中这部分功能也得到了一些改进,但鉴于这个在实际当中用得极少,本人也是没用过,所以本文不会介绍这方面的东西,而是关注其关系数据库方面。1、隐藏索引隐藏索引的特性对于性能调试非常有...转载 2018-03-19 13:18:48 · 357 阅读 · 0 评论 -
MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅MySQL...转载 2018-03-27 10:05:35 · 526 阅读 · 0 评论 -
MySQL用户权限管理详解
一、查看MYSQL数据库中所有用户及拥有权限 1.查看MYSQL数据库中所有用户mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;+---------------------------------+| query转载 2017-06-02 13:23:18 · 922 阅读 · 0 评论 -
需要学习的mysql函数
一、mysql中的日期和时间函数1.DATE_ADD()函数DATE_ADD() 函数向日期添加指定的时间间隔。它有两个参数,一个呢是要操作的日期,一个是INTERVAL expr type。expr 参数是要添加的时间间隔,type是时间的类型。使用格式:DATE_ADD(date,INTERVAL expr type)举例:假如你有一个表Orders,表中有两个字段,一个是id转载 2017-05-31 15:14:11 · 336 阅读 · 0 评论 -
大数据量下MySQL插入方法的性能比较
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1转载 2017-04-27 17:38:53 · 611 阅读 · 0 评论 -
细说分布式数据库的过去、现在与未来
随着大数据这个概念的兴起以及真实需求在各个行业的落地,很多人都热衷于讨论分布式数据库,今天就这个话题,主要分为三部分:第一部分讲一下分布式数据库的过去和现状,希望大家能对这个领域有一个全面的了解;第二部分讲一下TiDB的架构以及最近的一些进展;最后结合我们开发TiDB过程中的一些思考讲一下分布式数据库未来可能的趋势。一、分布式数据库的历史和现状1、从单机数据转载 2017-05-02 16:14:58 · 3520 阅读 · 0 评论 -
sql语句优化的13中方法
1,什么是“执行计划”?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“带有相当个性的”。如何产生转载 2017-04-20 17:48:22 · 372 阅读 · 0 评论 -
SQL,从熟练到掌握
我们知道,数据库由多张表组成,表与表之间可以实现关联。上图就是一个简单的关联模型:Students.addressId = Address.id Students.id = Scores.studentId Scores.courseId = Courses.id那么,如何在SQL查询语句中将两个表联接起来?我们将运用最重要的语法Join。select *转载 2017-05-11 17:51:15 · 453 阅读 · 0 评论