Welcome 微信登录

首页 / 数据库 / MySQL

MongoDB基本操作学习笔记

MongoDB基本操作学习笔记

今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的。数据库数据库是一个物理容器集合。每个数据库都有自己的一套文件系统上的文件。一个单一的MongoDB服务器通常有多个数据库。集合集合是一组MongoDB的文档。它相当于一个RDBMS表。收集存在于一个单一的数据库。集合不执行模式。集合内的文档可以有不同的领域。通常情况下,一个集合中的所有文件是相同或相关的目的。文档文档是一组键 - 值对。文件动态模式。动态模式是指,在相同集合中的文档不需要...
Linux5.8下安装phpMyAdmin无法关联php-mcrypt问题

Linux5.8下安装phpMyAdmin无法关联php-mcrypt问题

一、yum安装php-mcrypt##发现没办法安装原来CentOS 官方默认不在对mcrypt模块 进行支持,所以必须另想办法折腾了2个小时总算搞定,这里主要使用了Fedora的扩展库,EPEL (Extra Packages for Enterprise Linux)先分享解决过程如下:二:在扩展库中查找rpm包打开网址: http://mirrors.sohu.com/fedora-epel/6/i386/ 使用 Ctrl+F 搜索关键词&ldquo...
MySQL5.7 JSON类型使用介绍

MySQL5.7 JSON类型使用介绍

JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,并且会减少网络带宽的传输。JSON的格式非常简单:名称/键值。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。 我们先看看MySQL老版本的JSON存取。示例表结构:CREATE TABLE jso...
Schema的回滚快照

Schema的回滚快照

多天前,我们的一个客户不小心在网站上做了一个"删除"操作.但他发现他无法确认被他删除的对象是否真的应该被删除.于是求助于我们,希望能看到“删除”操作之前的界面。我们首先想到的是借助于闪回查询(Flashback Query)。但是,他的这个简单的删除操作实际上在后台数据库当中删除了十多张表的相关数据。而且用于在页面上显示这些对象的代码的逻辑也相当复杂。因此,闪回查询无助于他的要求。我们最终利用expdp的flashback_time...
关于DataGuard的三种保护模式实验

关于DataGuard的三种保护模式实验

Data Guard是Oracle高可用性HA的重要解决方案。针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protection)、最大可用(Maximum Availability)和最大性能(Maximum performance)。在实际应用场景下,我们需要根据不同的业务场景和数据可用性需求,来设置DG环境的保护类型。1、三种保护模式Protection Mode三种保护...
MySQL中order by 结果不准确的问题及解决

MySQL中order by 结果不准确的问题及解决

一 介绍 相信作为DBA 在和开发打交道的过程中,经常会遇到分页查询 order by 排序这样的需求。本文源于生产过程中的案例,5.6版本的数据库使用limit和order by 一个非唯一字段时,结果集并不总是确定的.已经确定为bug,详见:MySQL 官方的bug提醒读者朋友注意。二 分析环境准备CREATE TABLE `tb1` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `a` decimal(19,2...
MySQL 全索引扫描的bug

MySQL 全索引扫描的bug

一 简介在检查某业务数据库的slowlog 时发现一个慢查询,查询时间 1.57s ,检查表结构 where条件字段存在正确的组合索引,正确的情况下优化器应该选择组合索引,而非为啥会导致慢查询呢? 且看本文慢慢分析。二 分析案例中的MySQL数据库版本 5.6.16 将生产环境的sql做适当修改,where条件不变。读者朋友可以测试一下其他的版本。root@rac1 10:48:11>explain select id, -> gmt_cre...
swap空间不足导致MySQL被OOM kill案例

swap空间不足导致MySQL被OOM kill案例

背景:某机器内存256G,安装2实例mysql,每个 buffer_pool各106G,总计212G;某套DB晚上10:00左右迁移到该环境,第2天早上10:00左右收到OOM kill短信,因swap空间不足一个Mysql实例被强制kill;该实例mysqld进程没有被彻底清除,而是变成了僵尸进程,导致后续无法重启该实例,最后重启机器才解决。调查:上图为oom kill后的top输出,因为该mysqld变为僵尸进程故一直没有释放内存。mysql的BP设置...
MongoDB、Cassandra、HBase的事务设计策略

MongoDB、Cassandra、HBase的事务设计策略

NoSQL数据库(如MongoDB、Cassandra、Hbase、DynamoDB、Riak)让应用程序开发变得更简单。它们提供了相当灵活的数据模型和丰富的数据类型,而且与许多传统数据库系统相比,更易于安装和配置。但缺少原子事务支持却是一大退步。Daniel Abadi是耶鲁大学的一名副教授,主要从事数据库系统架构和实现研究。近日,他在一篇 文章 中剖析了NoSQL数据库不支持原子事务的原因,并提供了两种实现可扩展、事务型NoSQL数据库的方案。原子事务...
MySQL 多主多活 Galera 集群部署使用

MySQL 多主多活 Galera 集群部署使用

Galera是一款可以让MySQL同步复制的工具,实现真正的双主、多主,客户端连接到不同的MySQL实例进行读写操作就跟操作同一个实例一样,多个MySQL之间的数据是完全一致的。Galera主要是在保证数据一致性的前提下提高整体读的吞吐量,因此比MySQL自带主从方式更好。Galera并没有分表分库功能,如果想要使用Galera,又想分表分库,可与Cobar结合使用,Cobar下如果使用Galara可以获得更高的可靠性,数据一致性,避免有些Cobar切换了...
MySQL5.7 虚拟列实现表达式索引

MySQL5.7 虚拟列实现表达式索引

MySQL自古以来就不提供函数索引这么复杂的功能。那怎么在MySQL里面实现这样的功能呢? 我们先来看看函数索引的概念。函数索引,也可称为表达式索引,也就是基于字段以特定函数(表达式)建立索引来提升查询性能之需。函数索引的优势在于更加精确的获取所需要的数据。MySQL 5.7提供了一个新的特性,虚拟列,可以很完美的解决这个问题。在介绍虚拟列之前,我们来看看在MySQL里面普通索引的范例。示例表结构:CREATE TABLE t1 (id INT ,rank...
MongoDB 计划缓存的影响

MongoDB 计划缓存的影响

MongoDB 2.6 复制集Primary创建索引后,发现Secondary的查询没有走最新的索引。临时清理掉该集合的计划缓存后正常。笔者观察到出现性能问题时,语句并没有走最优的执行计划。对于MongoDB 3.0.3及之前的版本,可以通过如下两种方法得到解决:1. 对于查询显式指定hints。 2. 设置查询计划缓存索引过滤器来重写默认查询计划。在3.0.4版本中修复了。SERVER-15225,SERVER-20139https://jira.mo...
<< 891 892 893 894 895 896 897 898 899 900 >>