Welcome 微信登录

首页 / 数据库 / MySQL

MongoDB副本集实现及读写分离

MongoDB副本集实现及读写分离

在前面这篇文章“MongoDB的主从模式搭建实例”中,我们对如何搭建一个主从结构的Mongodb服务器环境进行了简单的介绍。但是对于主从结构,Mongodb官方并不推荐我们使用了,可能是因为主从模式存在以下两个缺点:(1)主节点不可用之后,无法自动切换到从节点,无法确保业务访问的不间断性;(2)所有的读写操作都是对主节点的,造成主节点的访问压力较大;因此,Mongodb为我们提供了另外一种推荐的使用方法,那就是使用副本集Replic...
MongoDB文档中字段是否有先后顺序之分?

MongoDB文档中字段是否有先后顺序之分?

在这片文章中,简单谈谈关于Mongodb中字段先后顺序的问题。Mongodb中的文档是一种Key:Value对组成的Json字符串,按理说,字段的先后顺序是不应该影响到查询操作的。我们简单做个实验,往集合中插入一条记录:db.testcollection.insert({"apple":2, "banana":3});这时候,我们通过以下两种方式查询都是一样的:第一种方式:db.testcollection.find({"apple":2,"banana"...
在CentOS上配置MySQL主从复制(Master-Slave)

在CentOS上配置MySQL主从复制(Master-Slave)

前面一篇介绍了免编译版的MySQL的安装,确实很方便,现在再来看看如何配置MySQL主从复制。数据库的安装请参考如何在CentOS6.5系统上安装免编译版的MySQL,我这里假设你已经分别在两台机器上安装好了MySQL数据库,都先不启动。先在Master上操作#编辑my.cmf文件,在[mysqld]以下添加两行内容vi /etc/my.cnf[mysqld]innodb_flush_log_at_trx_commit=2 sync_binlog=1#然后...
在CentOS 6.5上编译安装PostgreSQL 9.3数据库

在CentOS 6.5上编译安装PostgreSQL 9.3数据库

前言PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。下面就来看一下如何在CentOS 6.5系统上编译安装PostgreSQL 9.3数据库,这也是群里一位同学在看过上一篇安装orac...
Yii2的主从数据库设置

Yii2的主从数据库设置

项目做大了,数据库主从还是不可少的。使用Yii框架开发,如何设置数据库的主从呢?其实很简单。先说一个主数据库服务器和多个从数据库服务器的情况,修改配置文件 config/db.php ,其中 slaveConfig 里的为从服务器的公共部分,也可以设置到 slaves 里的各个从服务器的配置里。"class" => "yiidbConnection",// 配置主服务器"dsn" => "dsn for master server","user...
MySQL 复制介绍及搭建

MySQL 复制介绍及搭建

MySQL复制介绍MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard。MySQL复制有那些好处:第一是解决宕机带来的数据不一致,因为MySQL复制可以实时备份数据;第二点是减轻数据库服务器的压力,多台服务器的性能一般比单台要好。但是MySQL复制不适合大数据量,大数据量推荐使用集群。MySQL复制过程分成三步:master将改变记录到...
Datapump数据迁移前的准备工作

Datapump数据迁移前的准备工作

其实对于Datapump迁移而言,如果参与过XTTS,OGG,Veritas SF,外部表增量等迁移方式的话,会发现Datapump还是很简单清晰的,一个优点就是操作简单清晰,想必于imp而言性能要好。所以不要小看这种迁移方式,不是说哪些迁移方式就是最好的,数据迁移中也没有银弹,最合适的就是最好的。迁移之前我们还是需要做一些准备工作,尽量避免临时的忙乱,减少出错概率,要知道升级迁移都是在大早上,大晚上,都是精力比较差的时候,如果迁移前的准备不足,没有充足的...
Data Guard中快速Switchover,Failover的一些建议

Data Guard中快速Switchover,Failover的一些建议

其实对于Failover和Switchover是大家处理灾难时很头疼的一个环节,也是最关键的处理过程。假设你半夜正在睡觉,被报警电话惊醒,得知某个服务器产生了故障宕机,在这种情况下,我们大体会有下面的处理流程:1)检查原来的节点是否可用,需要查看ILO和存储,是否存在异常2)如果原来的节点可以重启,可以尽量马上恢复业务,然后分析根本原因,是否是硬件老化,硬件故障导致,如果发现问题影响较大,可以使用Switchover3)如果原来的节点无法重启,这个时候需要...
一个用户创建引发的权限控制问题

一个用户创建引发的权限控制问题

开发同学提了一个需求,比较有意思。需求描述:要求开发库创建一个新用户A(默认表空间TBS_1),由于这库是共享库,还有其他schema(示例:表空间TBS_2)被其他组的开发人员使用,需要避免使用A用户的开发人员,利用create table t(col name) tablespace tbs_2通过指定表空间的方式在tbs_2上创建表,即禁止用户A可以在tbs_2表空间上进行操作。操作过程: 1.创建用户A:create user a identifi...
Oracle分区表在线重定义字段not null问题

Oracle分区表在线重定义字段not null问题

Oracle通过DBMS_REDEFINITION进行在线重定义表,是基于物化视图的方式将数据同步到新结构的中间表中,然后通过改名实现。 其中DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS存储过程实现将相关依赖信息也复制到中间表,但如果源表中有not null这种约束,就要注意。以下测试:环境:os:CentOS 6.6db:11.2.0.4--建测试表源表create table scott.tb_source as se...
MySQL之test数据库默认权限

MySQL之test数据库默认权限

默认情况下,mysql.db表中包含的行表示任意用户可以访问test数据库和test_开头的数据库。这些行的User字段的值为空,表示匹配任意用户。这意味着这些数据库(test数据库和test_开头的数据库)默认可以被任意用户使用(即使没有权限的用户)。表mysql.db的默认数据如下mysql> select * from mysql.dbG*************************** 1. row *******************...
MySQL之日志和mysqlbinlog工具的使用

MySQL之日志和mysqlbinlog工具的使用

查看日志相关的全局变量: mysql>SHOW GLOBAL VARIABLES LIKE "%log%"修改相关变量: 1.对于开关某个功能,使用SET GLOBAL xxx=xxx即可。 2.涉及到文件的操作,只能修改配置文件,添加内容到配置文件并重启服务后生效。错误日志: 记录内容: 服务器的启动和关闭产生的信息 服务器运行过程中的错误信息 时间调度器上运行一个事件时产生的信息 在从服务器上启动和关闭从服务器进程...
mysqlbinlog工具基于日志恢复详细解释

mysqlbinlog工具基于日志恢复详细解释

如果每天都会生成大量的二进制日志,这些日志长时间不清理的话,将会对磁盘空间带来很大的浪费,所以定期清理日志是DBA维护mysql的一个重要工作1)RESET MASTER在上面查看日志存放的文件夹中,二进制日志命名的格式是以mysql-bin.*,*代表日志的序号,序号是递增的,其中还有mysql-bin.index是日志的索引文件,记录了日志的最大序号我们执行RESET MASTER命名删除全部日志查看删除后的日志可以看到,以前的日志全部被清空,新的日志...
MySQL之备份和恢复(msyqldump、LVM、xtrabackup)

MySQL之备份和恢复(msyqldump、LVM、xtrabackup)

备份类型: 根据备份时是服务器是否在线: 热备份(HOT): 读写操作不受影响 温备份(WARM): 进可以执行读操作,写操作不能执行 冷备份(COLD): 读写操作均不能进行 根据备份时对数据文件的操作: 物理备份: 直接复制数据文件。速度快,但是跨平台移植可能受到底层文件系统格式的影响。 逻辑备份: 将数据导出至文本文件中。速度慢。但是保存文件中会丢失浮点数精度。可以使...
<< 931 932 933 934 935 936 937 938 939 940 >>