MogDB/openGauss与PG的repmgr对比
提到PG的repmgr,大家可能并不陌生,他是现在PG比较流行的一套开源工具,用于管理PostgreSQL服务器集群中的复制管理和故障转移,也就是相当于一个集群管理+HA工具。当前PG的高可用方案,大致有keepalived、pgpool、repmgr、pacemaker+corosync、etcd+patroni等等。其中etcd+patroni和repmgr是目前用的较多的高可用。patron
PG12.9-Repmgr5.1.0-vip-3节点部署
Centos 7.6PG 12.9repmgr 5.1.01.系统环境准备 主机名 ip地址 角色 端口 enmo-01 172.20.10.1 主库 6000 &nbs
MogDB/openGauss 生态工具-MTK对glibc版本的解决
使用MogDB/openGauss 生态工具-MTK(Migration ToolKit) 数据库迁移工具时候,发现报错libc.so.6: version `GLIBC_2.14’ not found出现这种错误表明程序运行需要GLIBC_2.14,但是系统中却并不存在,因此可以先用strings命令查看下系统中的GLIBC版本有问题环境为centos6的环境,最初在centos7环境部署使用时
coredump文件生成,以及GDB工具使用
Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下。
PostgreSQL体系结构概述
PostgreSQL的物理架构由 共享内存、一系列后台进程和数据文件组成一、共享内存共享内存是服务器为数据库缓存和事务日志缓存预留的内存缓存空间Shared Memory=Shared Buffer + WAL BufferShared Buffer的目的是减少磁盘IO ,为了达到这个目的,必须满足以下规则: 当需要快速访问非常大的缓存时(10G、100G等) 如果有很
墨天轮数据库在线实训平台V1.0测评
墨天轮发布了数据库在线实训平台V1.0(https://www.modb.pro/marketlist?type=1),目前已支持Oracle、MySQL、Redis、PostgreSQL、openGauss、MogDB。针对该实训平台的PostgreSQL部分进行了如下测评。一、选择资源点击立刻购买支付后在控制台我的数据库部分即可查看到已购买的数据库实训环境。二、使用点解连接数据库点击进入实训环
PostgreSQL的单用户模式
postgres能在单用户模式中被调用。这种模式的主要用途是在启动过程中由initdb使用。有时候它也被用于调试或者灾难性恢复。注意,运行一个单用户模式服务器并不真地适合调试服务器,因为不会发生实际的进程间通信和锁定。当从 shell 中调用单用户模式时,用户可以输入查询并且结果会被以一种更适合开发者阅读(不适合普通用户)的形式打印在屏幕上。在单用户模式中,会话用户将被设置为 ID 为 1 的用户
pg_buffercache安装及使用
pg_buffercache模块提供了一种方法实时检查共享缓冲区。默认情况下,使用仅限于超级用户和pg_read_all_stats 角色的成员。可以使用GRANT给其他人授予访问权限。pg_buffercache模块可以用来查看shared buffer cache信息,决定shared buffer cache大还是小。一、安装[postgres@localhost pg_buffe
mysqldump常见使用场景及参数参考
一、mysqldump常用方法(1) 获取一个完整备份不锁库备份mysqldump -u$DB_user -p$DB_pass -h$DB_ip $DB_name --triggers --routines -E -A -B --single-transaction --mas
MySQL CPU性能定位
CPU的5种状态在linux平台下cpu存在5种状态使用组合。us:用户空间占用CPU百分比sy:内核空间占用CPU百分比ni:用户进程空间内改变过优先级的进程占用CPU百分比id:空闲CPU百分比wa: 等待输入输出的CPU时间百分比hi: 硬件中断si: 软件中断st: 实时MySQL常见CPU案例以往的MySQL案例中,因为使用上的一些问题,经常会导致高CPU使用率上升情况:这里包括连接数增
MYSQL排错指南学习笔记(三)并发死锁问题排查工具
1.并发问题 show processlist 首选完整版本 show full processlistinformation_schema_processlist表和show full processlist输出相同,但是表可以加筛选条件2.阻塞问题,InnoDB监控器SHOW ENGINE INNODB STATUS和创建InnoDB监控器与并发相关的我们关注 SEMAPHORES
MYSQL排错指南学习笔记(二)并发问题-锁
mysql服务器用锁和事务来处理对其表的并发访问。当线程请求数据集的时候就会加锁,可以是表、行、页或者元数据。当线程结束处理特定的数据集中之后,就会释放锁。数据库事务时处理一致性和可靠性工作的最小单位,使用户可以避免与其他事物交互时可能产生的风险。事务的隔离等级控制其他并发操作中的变化对本事务是否可见。读锁 S(共享锁允许并发线程读取加锁的操作,但禁写数据写锁 X(排它锁)阻止其他线程的读写操作s
MYSQL排错指南学习笔记(一)排查及存储引擎修复
翻到了之前整理的学习笔记,跟大家分享一下,虽然书里的版本有点老,但是还有一些是值得借鉴和学习的部分。1.语法错误(通用查询日志使用)例如accessible在5.1版本是一个保留字需要语句加引号5.0版本正常 select id from t1 where accessible=1;5.1版本应该变为 select ‘id’ from ‘t1’ where ‘accessible’=1;查询sql
PG优化器简单概述
对于使用关系型数据库的应用系统而言,SQL的好坏会直接影响系统的性能,一条烂SQL可能拖跨整个应用,甚至会导致数据库服务器失去响应或者使整个数据库Hang住。而对所有的关系型数据库而言,优化器都是最核心的部分,因为优化器负责解析SQL,数据也都是通过SQL来访问数据库获得的,所以优化器的好坏会直接决定关系型数据库的强弱,且优化器负责解析SQL,所以想做好SQL优化就必须了解优化器。PG 对复杂查询
openGauss数据库xlog目录满问题处理
openGauss数据库xlog满通常为以下几个原因:1.主备状态不正常,存在网络问题,集群内有宕机的节点2.xlog保留数量过多3.逻辑复制槽失效,且未及时清理4.开启归档,但归档失败导致xlog不清理首先,确认数据库状态gs_om -t query确认主备状态,是否存在宕机的节点。查看是否存在down,Standby Need repair(WAL)或者unkown的状态。
安装配置PGBouncer连接池
PgBouncer可以在数据库和前端应用间建立连接,由PgBouncer去处理和后端数据库的连接关系。对客户端的连接进行限制,预防过多或者恶意的连接请求。主要工作还是每一个数据节点对数据的存取,pgbouncer只是提供给客户端数据节点的分配和链接以及限制客户端连接的数量。整体上实现了对数据的负载均衡。能够缓存和PostgreSQL的连接,当有连接请求进来的时候,直接分配空闲进程,而不需要Post
PostgreSQL的常用索引
索引其实就是一种数据结构,将数据库中的数据以一定的数据结构算法进行存储。当表数据量越来越大时查询速度会下降,建立合适的索引能够帮助我们快速的检索数据库中的数据, 快速定位到可能满足条件的记录,不需要遍历所有记录。索引自身也占用存储空间、消耗计算资源,创建过多的索引将对数据库性能造成负面影响(尤其影响数据导入的性能,建议在数据导入后再建索引)。因此,仅在必要时创建索引。postgresql里的所有索
PostgreSQL死锁相关
当进程请求加锁的时候,如果失败,会进入等待队列。如果在队列中已经存在一些进程要求本进程中已经持有的锁,那么为了尽量避免死锁,可以把本进程插入到它们的前面。当一个锁被释放时,将会试图唤醒等待队列里的进程。这个行为预防了死锁的产生
check_postgres脚本集检查数据库健康情况
check_postgres.pl是一个 Perl 脚本,它针对一个或多个PG数据库运行许多不同的测试检查。使用 psql 程序收集信息。check_postgres涉及方面比较广泛,不仅有常规方面检查,同时也涉及一些主流工具的检查,如:pgbouncer、pgAgent、slony、bucardo等。可以去如下网站下载脚本https://bucardo.org/check_postgres/[p
Ansible自动部署工具
运维部署三层次:1 纯手动操作2 一键部署脚本3 使用自动部署工具ansible是自动化运维工具,基于Python开发功能:批量系统配置、批量程序部署、批量运行命令工作原理:1 主机清单:定义ansible要管理的对象2 playbooks:剧本 python的yml脚本3 功能插件(模块):实现剧本中具体的任务4 连接模块:ssh5 ansible整合----------------------