一、前言 OBDUMPER/OBLOADER是OceanBase官方推出的数据导出导入工具,可以用于OB租户间的数据迁移,对OB租户进行逻辑备份。不同于MySQL的MyDumper是C语言开发,OBDUMPER/OBLOADER是由java语言开发,因此它具备跨平台兼容性(x86/arm)。关于OBDUMPER/OBLOADER是一个功能非常丰富的工具,其使用方法在官方文档上面描述的已经很详细了,包括命令行选项、使用示例、参数调优等。如何使用该工具本文就不再赘述了,可以参考官方文档,本文主要想分享一些我使用这个工具的一些经验和踩过的坑。 二、旁路导入 旁路导入的原理就是使用LOADDATA/+...

  rxylW5aM1NxX   23天前   28   0   0 其他数据库

一、前言 从mydumperv0.11.5版本开始,mydumper提供了--load-data参数,使用此参数导出的sql文件将不再是insert语句,而是loaddata语句。在MySQL官方文档中关于loaddata是这么描述的:Whenloadingatablefromatextfile,useLOADDATA.Thisisusually20timesfasterthanusingINSERTstatements。loaddata的导入比insert快20倍,虽然实际中可能很难达到这个效率,但是对于MyDumper/MyLoader来说,使用--load-data选项,对导入速度的提升...

  rxylW5aM1NxX   2024年04月04日   34   0   0 MySQL

一、前言 说起MySQL的逻辑备份,一般大家用的最多的是mysqldump,MySQL官方提供的逻辑导出的工具,简单易用,可以产生一致性备份。但是mysqldump只能单线程导出,导出速度有限。为了提升逻辑备份速度,MySQL官方推出了mysqlpump,支持多线程导出,一定程度上提升了导出速度。但是,mysqlpump只支持表级别的并行导出,并且对于导入的场景无法多线程并行,速度提升有限。mydumper/myloader是由MySQL、Facebook等公司开发的开源mysql数据导出导入工具,多线程导出的并行度不再局限于表,导入时同样也支持多线程,大大提升了数据导出和导入的速度。作为进阶...

  rxylW5aM1NxX   2024年03月30日   47   0   0 MySQL

因为工作的原因接触到了pgsql数据库,对PostgreSQL的体系和运维操作也有了一定的了解。PostgreSQL在官网上标称为世界上最先进的开源数据库,而MySQL在官网上标称的是世界上最流行的开源数据库,可见PostgresSQL还是比较高调的。 一、PostgreSQL初体验 首先是数据库的安装,PostgreSQL官网上不像MySQL那样提供了二进制包的下载,PostgreSQL主要提供了RPM包下载和源码下载,通常使用源码编译安装,安装步骤相对比较简单: postgres单实例安装 1、官网下载源码包:https://www.postgresql.org/ftp/source/v...

  rxylW5aM1NxX   2024年03月02日   37   0   0 MySQL

关于MySQL的加锁机制,其实十分复杂,不同的隔离级别,是否是主键或索引,锁的粒度等等。很多工作了很多年的MySQLDBA也不能把各种加锁场景一一讲清楚。有时候一个简单的锁等待场景都值得深入研究,大家更多的是知其然而不知其所以然。本文介绍的是一个很常见的锁等待问题,但很少有人知道其中的原理。 一、实验场景 本文实验和研究的MySQL版本为8.0.31,数据库的隔离级别设置为RC,创建一张表,并在表中插入数据: create table siri( id int not null auto_increment, a int&...

  rxylW5aM1NxX   2024年02月29日   35   0   0 MySQL

对于MySQL的系统参数,有些参数只能在全局级别(global)修改,有些参数能在全局和会话(session)级别修改。对于能在会话级别修改的参数,应用用户也可以在当前会话中修改需要的参数来实现不同的业务需求。 比如sql_mode参数,不同的应用可以根据不同的需求在各自的session中进行修改。此外,在MySQL8.0中推出的hint功能中有一个叫set_var,即可以在执行的SQL语句中自定义session级别参数,十分方便。比如下面这条sql,通过加hint控制了一条sql的最大执行时间: mysql> select /+ set_var(max_...

  rxylW5aM1NxX   2023年11月02日   87   0   0 MySQL

OceanBase的系统日志(syslog)类似mysql的errorlog,是排查数据库问题的必备手段。系统日志一般位于observer的运行日志目录下。系统日志分了三种类型:observer.log、election.log和rootservice.log。 observer.log是每个observer的启动和运行日志,也是排查问题使用最多的日志。election.log是选举日志,顾名思义,主要记录分布式集群中选主的运行日志。rootservice.log,rootservice是ob集群的总控服务,负责ob集群的资源管理、负载均衡等,一般rootservice运行在某个observe...

  rxylW5aM1NxX   2023年11月01日   77   0   0 其他数据库

OceanBase数据库的系统视图分为字典视图和性能视图。其中字典视图就是描述数据字典的视图,OceanBase数据库的字典视图包含information_schema.视图、oceanbase.CDB_视图、oceanbase.DBA_视图以及mysql.视图。本文所涉及的版本主要为OceanBase4.1.0。 information_schema.视图 该类视图提供对MySQL租户中数据库元数据(包括:数据库或表的名称、列的数据类型或访问权限)的访问。称为数据字典或系统目录。这个视图类似MySQL数据库的information_schema,我们在MySQL中经常使用processlis...

  rxylW5aM1NxX   2023年11月01日   47   0   0 其他数据库

OceanBase的系统参数分为好几个级别,下面我将从级别从高到底一一介绍下OceanBase数据库里的那些系统参数。 系统配置项(系统参数) OceanBase的系统配置项,我们可以称为parameter,是OB最高级别的系统参数。系统配置项分为集群级配置项和租户级配置项。大部分需要关注的系统配置项都是集群级别的,parameter更多的是在集群级别对整个集群的各种功能进行配置。通过showparameters语法可以查询系统配置项,可以看到scope为cluster即表示这是一个集群级别的配置项,edit_level为dynamic_effective表示这个参数动态修改生效。 修改集群级...

  rxylW5aM1NxX   2023年11月01日   323   0   0 其他数据库

一、背景 MySQL从5.6开始引入了OnlineDDL,alter操作不再阻塞dml。在MySQL8.0中,针对OnlineDDL做了进一步优化,altertable加列操作支持INSTANT算法,意思就是使用这个算法进行加列操作只需要修改表的元数据信息,操作瞬间就完成了。在MySQL8.0.30以后,instant算法支持加列加到表的任一位置,并且也支持删列、重命名表等DDL操作。实际DDL中支持OnlineDDL的操作默认都会使用ALGORITHM=INSTANT。 二、问题 那么既然现在MySQL的DDL这么快,我们是不是随便什么时候都可以去数据库中对表进行DDL呢?其实不是的,即使是...

  rxylW5aM1NxX   2023年11月01日   70   0   0 MySQL

主从半同步复制是目前用得最多的MySQL复制方案,日常工作中我们一般通过showslave status语句查看当前复制过程中状态信息,基本上能满足大多数场景下的需求。Performance_schema中提供了16个关于复制的监控表(包括组复制、过滤复制等,这里我们先不讨论),showslavestatus中的大多数信息都来自Performance_schema中的复制系列表,这些表有利于更好的收集主从复制中的状态,报错,配置等信息,并且比showslavestatus提供了更全面的主从复制的诊断信息。这些表主要可以分为两类,分别为IO进程和SQL进程的信息:   &n...

  rxylW5aM1NxX   2023年11月01日   85   0   0 MySQL

一、背景 MySQL是当今世上最受欢迎的使用最广泛的开源数据库,它的繁荣离不开它的开源特性。放在过去商业数据库的时代,大家都没有机会接触到数据库的源代码,但在如今开源数据库的时代,越来越多的人开始研究数据库的源码,并给社区贡献代码,MySQL官方每次发布新版本都要感谢一些在社区上贡献代码的程序员。现在新的数据库时代也给DBA提出了更高的要求,学会调试源码,通过源码定位问题,这是DBA进阶的方向。MySQL的源码有几百上千万行,想全部搞懂几乎是不可能的,研究源码一般推荐从某个功能点入手。而学会调试源码,不管对研究源码或通过源码定位问题,都是必备的技能。本文将介绍Linux平台下如何通过gdb进行...

  rxylW5aM1NxX   2023年11月01日   60   0   0 MySQL

一、内存使用率高且不释放问题排查 生产环境MySQL5.7数据库告警内存使用率95%。排查MySQL内存占用问题的思路方法可以参考叶老师这篇文章:https://mp.weixin.qq.com/s/VneUUnprxzRGAyQNaKi-7g。 TOP命令查看MySQL进程的RES指标,发现内存使用了10.6G,而数据库的innodb_buffer_pool_size只是设置了6G,所以这多出来的4个G的内存用在哪了呢?考虑到innodb_log_buffer_size、read_rnd_buffer_size等buffer的使用,performance_schema占用的内存,MySQL为...

  rxylW5aM1NxX   2023年11月01日   84   0   0 MySQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~