自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 收藏
  • 关注

原创 postgresql用户与权限管理

pg使用角色的概念管理数据库访问权限,角色是一系列相关权限的集合。为了管理方便,通常把一系列先关的权限赋予给一个角色,如果哪个用户需要这些权限,就把这些角色赋予给响应的用户。 由于用户也拥有一系列的相关权限,为了简化管理,在PG中,角色与用户是没有区别的,一个用户也是一个角色,我们可以把一个用户的权限赋值给另一个用户。用户和角色在整个数据库实例中是全局的,在同一个实例的不同数据库中,看到的用户...

2022-08-20 12:11:00 5666

原创 postgresql逻辑备份工具pg_dump和pg_resotre学习

(一)pg_dump备份pg提供了pg_dump和pg_dumpall命令进行数据库的备份,pg_dumpall是将整个pg集群转储到一个脚本文件中,而pg_dump命令可以选择一个数据库或者部分表进行备份。pg_dump 把一个数据库转储为纯文本文件或者是其它格式,使用方法如下:[postgres@pg01 ~]$ pg_dump --help用法: pg_dump [选项].....

2022-08-07 12:38:00 3475

原创 PostgreSQL10数据库源码安装

环境:centos 7 + pg10.17(一)安装包下载postgresql数据库一共有2种安装包,一种是rpm包,可以直接使用yum安装,另外一种是源码,需要自己编译安装,可以看到,与MySQL相比,少了二进制的安装包,这里我们使用源码自己编译安装。首先下载源码安装包,各版本的下载地址:https://www.postgresql.org/ftp/source下载自己需要的版本即可...

2022-08-07 00:03:00 1099 1

原创 【转】虚拟机网络服务启动失败Failed to start LSB 解决方法

场景:克隆了一个虚拟机后不能重启它的网络服务编辑IP配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33重新修改了ip后,发现还是报错如下错误信息:Failed to start LSB 网络服务启动失败解决办法:systemctl stop NetworkManagersystemctl disable NetworkManagersys...

2022-04-04 14:12:00 5778

原创 mysql多线程备份与还原工具mydumper

(一)mydumper介绍之前我们已经学过如何使用mysqldump备份恢复数据库:《mysql逻辑备份与还原工具mysqldump》,就目前来说,mysqldump是使用最广泛的MySQL备份工具。但经过个人长期使用下来,发现存在几个问题:不支持多线程备份,也不支持多线程恢复。如果数据库较大,带来的问题就是备份恢复时间长。备份出来的文件为一个整体,当需要某个表的数据时,无法从一个整体中...

2021-05-23 01:28:00 331

原创 一步一步搭建MySQL高可用架构MHA

目录:(一)认识MHA (1.1)MHA概述 (1.2)MHA架构及其工作原理 (1.3)使用MHA的优势(二)MHA安装--源码安装 (2.1)主机配置 (2.2)MySQL主从复制搭建(1主2从,启用gtid) (2.3)安装MHA Node(在所有节点安装) (2.4)安装MHA Manager(在监控节点安装)(三)MHA配置(MHA Mana...

2021-03-31 22:30:00 521

原创 MySQL表连接及其优化

导读:在做MySQL数据库的优化工作时,如果只涉及到单表查询,那么95%的慢SQL都只需从索引上入手优化即可,通过添加索引来消除全表扫描或者排序操作,大概率能实现SQL语句执行速度质的飞跃。对于单表的优化操作,相信大部分DBA甚至开发人员都可以完成。然而,在实际生产中,除了单表操作,更多的是多个表联合起来查询,这样的查询通常是慢SQL的重灾区,查询速度慢,使用服务器资源较多,高CP...

2021-02-20 23:35:00 707

原创 MySQL复合索引探究

复合索引(又称为联合索引),是在多个列上创建的索引。创建复合索引最重要的是列顺序的选择,这关系到索引能否使用上,或者影响多少个谓词条件能使用上索引。复合索引的使用遵循最左匹配原则,只有索引左边的列匹配到,后面的列才能继续匹配。本文主要探究复合索引的创建顺序与使用情况。(一)复合索引的概念在单个列上创建的索引我们称为单列索引,在2个以上的列上创建的索引称为复合索引。在单个列上创建索...

2021-02-03 23:34:00 270

原创 MongoDB分片方式及片键选择

(一)分片方式MongoDB提供了基于哈希(hashed)和基于范围(Range)2种分片方式:(1.1)哈希分片哈希分片使用hash索引来在分片集群中对数据进行划分。哈希索引计算某一个字段的哈希值作为索引值,这个值被用作片键。哈希分片以减少定向操作和增加广播操作为代价。分片集群内的数据更加均衡。从MongoDB4.0开始,mongo shell提供了convertShardKey...

2021-01-17 18:18:00 3424

原创 MongoDB Sharding(二) -- 搭建分片集群

在上一篇文章中,我们基本了解了分片的概念,本文将着手实践,进行分片集群的搭建首先我们再来了解一下分片集群的架构,分片集群由三部分构成:mongos:查询路由,在客户端程序和分片之间提供接口。本次实验部署2个mongos实例config:配置服务器存储集群的元数据,元数据反映分片集群的内所有数据和组件的状态和组织方式,元数据包含每个分片上的块列表以及定义块的范围。从3.4版本开...

2021-01-16 14:08:00 244

原创 MongoDB Sharding(一) -- 分片的概念

(一)分片的由来随着系统的业务量越来越大,业务系统往往会出现这样一些特点:高吞吐量高并发超大规模的数据量高并发的业务可能会耗尽服务器的CPU,高吞吐量、超大规模的数据量也会带来内存、磁盘的压力。对于这类问题,解决系统增长的方法有2种:垂直扩展和水平扩展。垂直扩展主要是增加单个服务器的资源。例如:使用增强大的CPU、增加更多的内存、使用固态硬盘等。水平扩展主要是增加服...

2021-01-16 12:59:00 266

原创 MySQL审计audit

导读:MySQL社区版是不带审计功能的,如果要使用MySQL审计,可以考虑使用中间件(例如proxysql)或者是MariaDB的审计插件。这里以MariaDB的审计插件为例,实现MySQL 5.7的审计功能。版本信息操作系统版本 :CentOS 7.4MySQL数据库版本 :MySQL 5.7.27 社区版MariaDB审计插件版本...

2021-01-10 12:16:00 276

原创 MongoDB性能监控

MongoDB数据库在安装包里提供了mongotop和mongostat工具,用于MongoDB数据库性能监控,这里我们来了解一下如何使用。(一)mongotopmongotop提供了一种跟踪MongoDB实例mongod花费在读写数据上的时间的方法。mongotop提供每个集合级别的统计信息。默认情况下,mongotop每秒返回一次值。可以使用mongotop [frequency...

2021-01-05 19:21:00 487

原创 filebeat输出结果到elasticsearch的多个索引

基本环境:filebeat版本:6.5.4 (Linux,x86-64)elasticsearch版本:6.54(一)需求说明在一台服务器上有多个日志需要使用filebeat日志收集到elasticsearch中,以便于查看。对于收集方法,主要有2种:将同一台服务器上的日志收集到elasticsearch的同一个索引中,这种方式存在一个较大的问题,如果服务器上有多个业务在运行,产生...

2020-12-10 19:30:00 110

原创 Oracle数据库由dataguard备库引起的log file sync等待

导读:最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的log file sync等待。我们知道,通常log file sync等待都是由频繁写日志造成的,这次居然是由DG环境引起的。(一)问题描述数据库:Oracle 11.2.0.4,单机版,有Dataguard环境操作系统:cen...

2020-11-26 19:12:00 568

原创 使用udev高效、动态的管理Linux设备文件

导读:在Linux环境中,所有的设备都以文件的形式存在,在早期的Linux版本中,/dev目录包含了了所有可能出现的设备文件,很难想象Linux用户如何从大量的设备文件中找到想要的设备文件。举个例子,服务器上有sda、sdb、sdc、sdd四块磁盘,这些名字都是操作系统识别到磁盘后自动生成的,通过名字,我们并不知道每一块盘是做什么的,要是能够实现自定义命名,那就再好不过了,udev...

2020-10-29 21:14:00 717 2

原创 Linux配置和管理设备映射多路径multipath

(一)多路径管理软件的由来 在企业中,服务器与存储通常是分开放置的,服务器上的硬盘通常用来安装操作系统和应用软件,业务数据则是存储在单独的存储设备上,那么,服务器与存储是如何连接的呢?根据存储协议,经常有2种方案:NAS存储(Network Attached Storage,网络附加存储),NAS存储使用基于文件的协议(例如CIFS、NFS),其它计算机通过以太网访问...

2020-10-28 22:22:00 3212 3

原创 ELK6环境搭建

(一)什么是ELK StackELK 到底是什么呢? “ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎;Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中;Kibana 则可以...

2020-10-22 09:18:00 179

原创 存储系列1-openfiler开源存储管理平台实践

(一)openfiler介绍Openfiler能把标准x86/64架构的系统变为一个更强大的NAS、SAN存储和IP存储网关,为管理员提供一个强大的管理平台,并能应付未来的存储需求。openfiler可以安装在x86/64架构的工业标准服务器上,否定了昂贵的专有存储系统的需求。只需10分钟即可把系统部署到戴尔、惠普、IBM等标准配置服务器上,服务器就变为一个功能强大的存储网络了。此...

2020-10-21 20:58:00 880

原创 redhat / centos开启关闭防火墙

(一)redhat6/centos6在redhat6/centos6中,Linux默认的防火墙是iptables,启动与关闭方式如下:#查看防火墙状态service iptables status #临时开启,重启机器后失效service iptables start #临时关闭,重启机器后失效 service iptables stop#开机自启动chkconfi...

2020-10-21 19:43:00 3008

原创 MySQL用户与权限管理

(一)MySQL有哪些权限MySQL的权限列表可以使用show privileges来查看,主要的权限信息如下:这里我们根据作用域,把权限分为3类:1.MySQL服务管理权限:用于管理MySQL服务器的操作。这些权限是全局性的,授权范围不能是特定的数据库或对象。只能使用*.*方式授予,不能使用db.*或db.tb方式授权;2.数据库级别权限:授权范围可以是所有数据库,也可以是单个数...

2020-09-14 21:29:00 213

原创 使用zabbix监控sql server的发布订阅

(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在发布订阅环境搭建完成后,最重要的就是如何监控复制的状态了,sql server提供了复制监视器来方便我们监控复制状态、复制延迟等信息,总体来说,非常好用,复制监视器的界面如下,能够很清楚的看到哪些失败了,哪些有延迟。然而,在运维过程中发现,我们不可能一直盯着复制监视器...

2020-09-09 19:38:00 343

原创 MySQL执行计划

本文基于MySQL 5.7编写,对于其它版本也适用 (一)执行计划概述什么是执行计划呢?SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划。MySQL必须做出选择,一次只能有一种访问路径,一个访问路径就是一个执行计划。通常一条SQL有多个执行计划,那我们如何选择?MySQL数据库与Or...

2020-09-03 23:00:00 136

原创 HP-UNIX监控工具——GlancePlus

(一)GlancePlus监控工具概述GlancePlus监控工具是HP-UNIX系统中一个强大且易用的在线监控工具,有两种版本,一种是gpm,图形模式,一种是glance,text文本模式。使用GlancePlus,可以实时监控CPU、Memory、Disk、Network等信息。(二)gpm图形模式(2.1)启用图形化模式(gpm)使用图形模式需要先在自己电脑上安装图形显示软...

2020-08-19 20:54:00 610

原创 3.MongoDB恢复探究:为什么oplogReplay参数只设置了日志应用结束时间oplogLimit,而没有设置开始时间?...

(一)我的疑问在使用MySQL数据库binlog日志基于时间点恢复数据库时,我们必须要指定binlog的开始位置和结束位置,而在MongoDB里面,如果使用oplog进行恢复,只有oplogLimit参数,该参数信息如下--oplogLimit=<seconds>[:ordinal] only include oplog entries before ...

2020-08-19 20:02:00 1013 2

原创 2.MongoDB 4.2副本集环境基于时间点的恢复

(一)MongoDB恢复概述对于任何数据库,如果要将数据库恢复到过去的任意时间点,否需要有过去某个时间点的全备+全备之后的重做日志。接下来根据瑞丽航空的情况进行概述:全备:每天晚上都会进行备份;重做日志备份:MongoDB只有开启主从复制或者副本集时才会开启重做日志,主从复制存放在local数据库下的“oplog.$main”集合中,复制集的日志存放在local数据库下的o...

2020-08-18 21:41:00 331

原创 1.MongoDB 2.7主从复制(master –> slave)环境基于时间点的恢复

(一)MongoDB恢复概述对于任何类型的数据库,如果要将数据库恢复到过去的任意时间点,否需要有过去某个时间点的全备+全备之后的重做日志,MongoDB也不例外。使用全备将数据库恢复到固定时刻,然后使用重做日志追加全备之后的操作。重做日志备份:MongoDB只有开启主从复制或者副本集时才会开启重做日志,主从复制存放在local数据库下的oplog.$main集合中,复制集的日志存放...

2020-08-17 19:33:00 314

原创 1.MongoDB 2.7主从复制(master &ndash;> slave)环境基于时间点的恢复

(一)MongoDB恢复概述对于任何类型的数据库,如果要将数据库恢复到过去的任意时间点,否需要有过去某个时间点的全备+全备之后的重做日志,MongoDB也不例外。使用全备将数据库恢复到固定时刻,然后使用重做日志追加全备之后的操作。重做日志备份:MongoDB只有开启主从复制或者副本集时才会开启重做日志,主从复制存放在local数据库下的oplog.$main集合中,复制集的日志存...

2020-08-17 19:33:00 171

原创 keepalived+MySQL实现高可用

(一)keepalived概述Keepalived通过VRRP(虚拟路由冗余协议)协议实现虚拟IP的漂移。当master故障后,VIP会自动漂移到backup,这时通知下端主机刷新ARP表,如果业务是通过VIP连接到服务器的,则此时依然能够连接到正常运行的主机,RedHat给出的VRRP工作原理如下图:本来对VIP漂移有一定了解的我,看了上面的图后,越来越懵了。因此只能根据我的个人理解,...

2020-08-03 23:23:00 916 3

原创 使用ProxySQL实现MySQL Group Replication的故障转移、读写分离(二)

在上一篇文章《使用ProxySQL实现MySQL Group Replication的故障转移、读写分离(一) 》 中,已经完成了MGR+ProxySQL集群的搭建,也测试了ProxySQL实现业务层面的故障转移,接下来继续测试读写分离。王国维大师笔下的人生三境界:第一重境界:昨夜西风凋碧树。独上高楼,望尽天涯路;第二重境界:衣带渐宽终不悔,为伊消得人憔悴;第三重境界:众里寻他千百度...

2020-08-02 15:37:00 227

原创 使用ProxySQL实现MySQL Group Replication的故障转移、读写分离(一)

导读:在之前,我们搭建了MySQL组复制集群环境,MySQL组复制集群环境解决了MySQL集群内部的自动故障转移,但是,组复制并没有解决外部业务的故障转移。举个例子,在A、B、C 3台机器上搭建了组复制环境,且运行在单主模式下,这里假设A为主节点,应用程序连接A写数据,如果A节点发生宕机,主节点切换到B机器上,此时,应用程序是不会自动连接到B服务器上的,需要人工进行切换。在这篇文章中,我...

2020-08-01 20:09:00 766

原创 Oracle Dataguard故障转移(failover)操作

注意:故障转移会破坏DG的主从关系,使其变为互不相关的2个数据库,谨慎使用。(一)故障转移操作流程图(二)故障转移操作流程备注:以下操作步骤与上面流程图步骤一一对应STEP1:刷新所有未发送到备库的日志到备库如果主库还可以启动到mount状态,则刷新所有未发送的归档日志和在线redo日志到备库。如果这一步成功了,则可以保证数据零丢失。如果主库不能mount,则执...

2020-07-28 20:21:00 768

原创 Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库

(一)DG故障转移后切换为备库的方法在DG执行故障转移之后,主库与从库的关系就被破坏了。这个时候如果要恢复主从关系,可以使用下面的3种方法:将失败的主库重新搭建为备库,该方法比较耗时;使用数据库闪回方法,将失败的主数据库转换为备库,该方法依赖于闪回数据库功能,在生产环境,并未启用该功能;使用RMAN备份将失败的主库转换为备库,该方法要求在失败之前主库要有RMAN备份。这里仅...

2020-07-28 20:17:00 488

原创 MySQL组复制MGR(四)-- 单主模式与多主模式

(一)概述组复制可以运行在单主模式下,也可以运行在多主模式下,默认为单主模式。组的不同成员不能部署在不同模式下,要切换模式,需要使用不同配置重新启动组而不是单个server。相关参数如下:# 该参数决定启用单主模式(on)还是多主模式(off),默认单主模式loose-group_replication_single_primary_mode=off #...

2020-07-25 14:00:00 718

原创 MySQL组复制MGR(三)-- 组复制监控

如果MySQL启用了性能监控数据库performance_schema,则在搭建组复制的时候会创建2个表:performance_schema.replication_group_membersperformance_schema.replication_group_member_stats这些performance_schema里面的表也显示组复制的信息:performance_sch...

2020-07-25 11:06:00 330

原创 MySQL组复制MGR(二)-- 组复制搭建

(一)主机操作(1)主机信息 主机名称IP地址操作系统版本数据库版本mgr-node1192.168.10.11centos 7.4 ,64-bitmysql社区版 5.7.24mgr-node2192.168.10.12centos 7.4 , 64-bitmysql社区版 5.7.24mgr-node3192.168.10.13centos 7.4 ,64-bitmysql社...

2020-07-25 09:57:00 295

原创 MySQL组复制MGR(一)-- 技术概述

(一)复制技术的发展MySQL的复制技术主要经历了异步主从复制,半同步复制,组复制(Group Replication)3个阶段。(1)传统的异步主从复制传统的MySQL提供了一种简单的主从复制方法。有1个主服务器(master),有1个或多个从服务器(slave),主服务器执行事务,然后提交,从服务器异步接收日志,并重新应用日志。该架构存在的问题有:如果主服务器/数据库crash了,日...

2020-07-24 21:36:00 229

原创 MongoDB进程查看方法

(1)查看MongoDB的连接信息db.serverStatus().connections结果如下:{ "current" : 233, "available" : 50967, "totalCreated" : NumberLong(191495)}-- current:当前连接数-- available:可用连接数-- TotalCreate...

2020-07-21 23:20:00 1144

原创 Oracle DataGuard主备切换(switchover)

Oracle DataGuard主备切换可以使用传统的手动命令切换,也可以使用dgmgr切换,本文记录手动切换。(一)将主库切换为物理备库STEP1:查看主库状态SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM ...

2020-07-18 13:40:00 554

原创 MongoDB用户与角色管理

(一)用户管理(1)创建用户1.要添加用户,MongoDB提供了db.createUser()方法。添加用户时,可以为用户分配角色,授予权限。2.在数据库中创建的第一个用户应该具有管理其他用户的权限。3.添加用户时,可以在特定的数据库中创建该用户,该数据库是用户的身份验证数据库。用户可以在不同的数据库之间拥有特权,也就是说,用户的权限不限于其身份验证数据库,通过分配其他数据库中的角...

2020-07-06 23:10:00 1389

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除