自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MongoDB分片集群搭建

如果切换了一台新的路由服务器,则需要配置表的分片存储,否则插入数据不会被均分到数据库集群中,只会固定插入到某一台数据库实例中。复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。mongos负责查询与数据写入的路由,是实例访问的统一入口,是一个无状态的节点,每一个节点都可以从config-server节点获取到配置信息。Sharding 模式适合处理大量数据,它将数据分开存储,不同服务器保存不同的数据,所有服务器数据的总和即为整个数据集。

2024-01-11 17:57:52 1276

原创 Mongodb Replica Sets 副本集群搭建

通过oplog日志进行添加节点操作简单,但oplog是capped collection,采用循环的方式处理日志,通过oplog日志来添加节点,可能导致数据的不一致(日志被刷新),因此我们引出快照和oplog相结合的方式来添加节点,保证数据的一致性。Sharding 模式适合处理大量数据,它将数据分开存储,不同服务器保存不同的数据,所有服务器数据的总和即为整个数据集。它的核心作用是数据的备份和故障转移。方式:复制一份副本集的物理文件来做初始化数据,然后使用oplog日志来追溯数据,最终达到数据的一致性。

2024-01-11 17:43:10 1207

原创 Redis Cluster

容易添加或者删除节点,比如如果我想新添加个节点D,我需要从节点A、B、C中取部分槽到D上,如果我移除节点A,需要将A中的槽移到B和C节点上,然后将没有任何槽的A节点从集群中移除即可。切换总结: 当主节点宕机后从节点上位,挂掉的主节点重新启动后会成为原先从节点(新主节点)的从节点。redis-cli -a 密码 --cluster add-node ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID。

2023-12-20 16:22:47 1090

原创 redis 缓存穿透、击穿、雪崩、无底洞分析及解决

缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,导致不存在的数据每次请求都要到存储层去查询,造成存储层压力巨大甚至down机。前台请求,后台先从缓存层取数据,取到直接返回结果,取不到时从存储层取,存储层取到更新缓存,并返回结果,存储层未取到,那直接返回空结果。2)缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生,是一种比较取巧的解决方案。和缓存击穿不同的是, 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。缺:增加编程复杂度。

2023-12-20 11:49:32 595

原创 redis 复制

当关闭时,主节点产生的命令数据无论大小都会及时地发送给从节点,这样主从之间延迟会变小,但增加了网络带宽的消耗。2)在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生效。通过slaveof命令还可以实现切主操作,所谓切主是指把当前从节点对主节点的复制切换到另一个主节点。从节点断开复制后并不会抛弃原有数据,只是无法再获取主节点上的数据变化。redis默认为主节点,主从节点是一对多的关系,支持级联复制。注意:切主后,从节点原数据会被清空。

2023-11-07 20:25:32 75

原创 Redis Sentinel

Redis Sentinel是 Redis 的高可用性解决方案之一,它用于监控和管理 Redis 主从复制集群,并在主节点发生故障时自动完成故障发现和故障转移,并通知应用方,从而实现真正的高可用。Redis Sentinel 的主要功能如下:监控:Redis数据节点、Sentinel节点,包括节点的可用性、延迟等情况通知:节点故障时,Sentinel 可以通过 API 向管理员或者其他应用程序发送通知故障转移:自动发现和识别 Redis 主从复制集群的拓扑结构。

2023-11-07 20:16:48 75

原创 canal 同步报错 Target column: id not matched

targetTable: tb_user #目标数据源的表名。targetTable: 项设置为test001.tt9。commitBatch: 3000 # 批量提交的大小。canal版本为:1.1.5。主要原因是目标库表不匹配,,这边不能设置为目标数据库。表名,目标库只能在应。

2023-04-10 14:36:41 675

原创 canal的各个组件的用途

canal api客户端:canal 特别设计了 client-server 模式,交互协议使用 protobuf 3.0 , client 端可采用不同语言实现不同的消费逻辑,欢迎大家提交 pull request。canal-adapter:是canal的客户端适配器,可将其看作canal client。canal-admin:为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。

2023-04-10 14:27:36 619

原创 CANAL同步RDB实验

canal是Alibaba旗下的一款开源项目纯Java开发它是基于数据库增量日志解析提供增量数据订阅消费目前主要支持mysql。应用场景canal的数据同步不是全量的,而是增量。基于binary log增量订阅和消费,canal可以做:数据库镜像数据库实时备份索引构建和实时维护业务cache(缓存)刷新具体业务场景数据同步,比如:做在线、离线数据库之间的数据同步操作;数据消费,比如:需要根据关注的数据库表的变化,做搜索增量;

2023-04-10 14:21:22 604

原创 Mysql权限拆解

表层级权限可以被全局层级和数据库层权限覆盖,表层级权限的作用域是授权所指定的表,所以权限种类也比较小, 只有如下8个权限,alter,create,delete,drop,index,insert,select,update。列层级权限的作用域仅限于某个表的某个列,这些权限存储在mysql.columns_priv表中,列层级同样可以被高层同样的权限覆盖掉, 由于列层级权限和子程序层权限作用域没有重合部分所以不会被覆盖。也就是说,同样的一个用户名,如果来自不同的IP地址,则MySQL将其视为不同的用户。

2023-04-06 10:25:19 163

原创 mysql各种文件类型

-log_output=TABLE,FILE --slow_query_log --slow_query_log_file=/usr/local/mysql/logs/slow.log 启用慢查询日志,记录到指定日志文件和表中。slow_query_log_file = /usr/local/mysql/logs/slow.log --慢查询日志文件存储路径和文件名。--log_output=TABLE,FILE --general_log 启用普通查询日志,日志记录到数据库中的日志表和文件中。

2023-04-06 10:24:58 152

原创 Mysql索引类型及操作

(2)修改表结构:alter table 'tablename' add unique ['indexname'] on ('tablecolumns');(1)创建索引:create fulltext index 'indexname' on 'tablename'('tablecolumns');(1)创建索引:create unique index 'indexname' on 'tablename'('tablecolumns');如果是组合索引,则列值的组合必须唯一。

2023-04-03 11:04:28 134

原创 mysql字符集及内部编码转换

mysql Server收到请求时将请求数据从 character_set_client 转换为 character_set_connection。超集包括子集,但如果连接和插入的字符集不一致,插入的时候就乱码,后续使用存储一致的字符集查询也是乱码。服务端接收到语句后,会转换成character_set_connection 变量设置的字符集。D. 若上述值不存在,则使用 character_set_server 设定值。最后将操作结果从内部操作字符集转换为 character_set_results。

2023-04-03 10:59:30 523

原创 mysql 数据导入导出命令详解

-fields-enclosed-by:指定列值的包括符,默认值没有(对于字符中包含列分隔符的直接包括起来)例如:12#kk#2#4,2与4间包括了#,使用包括符后,”2#4“fields enclosed by:指定列值的包括符,默认值没有(对于字符中包含列分隔符的直接包括起来)例如:12#kk#2#4,2与4间包括了#,使用包括符后,”2#4“--fields-optionally-enclosed-by: 指定非数字列的包括符,默认值没有(有就使用,没有就不使用)

2023-04-01 18:49:03 2531

原创 OGG概念、安装步骤及基本的配置步骤 for ORACLE

数据泵不能使用任何DDL配置参数,比如DDL, DDLOPTIONS,:当配置DDL复制的时候应该使用,DDL不使用的时候,可以代替ADD TRANDATA,表没有主键和唯一键的时候,使用ADD TRANDATA的cols和table map的keycols来配合使用ADD SCHEMATRANDATA最好。:不适用DDL复制特性的时候使用,在下保证列情况下,在DDL复制环境下也可以使用ADD TRANDATA:在对表进行DDL时,一定不能有任何DML,可以有对其他不相关表的DML。

2023-04-01 18:47:05 772

原创 EBS 12.2 开启JWS

本文档用于EBS 12.2开启 ​。

2023-03-31 10:24:06 606

原创 EBS 12.2 多租户克隆

本文档用于使用多租户数据库的EBS克隆操作​。

2023-03-31 10:22:06 297

原创 Oracle TDE 加密测试

默认位置:在ORACLE_BASE/admin/$ORACLE_SID/目录下创建文件夹wallet(如果没有创建)指定位置:在 $ORACLE_HOME/network/admin 下的 sqlnet.ora中设 置 ENCRYPTION_WALLET_LOCATION 参数,FILE_NAME_CONVERT = (' /u01/oracle/db/data/CDB/TEST/datafile', ' /u01/oracle/db/data/CDB/TEST/datafile/enc');

2023-03-30 17:34:33 609

原创 Oracle Application Express安装手册

APEX_PUBLIC_USER -此最低特权帐户用于通过Oracle REST数据服务或Oracle HTTP Server和Oracle进行Application Express配置mod_plsql。APEX_REST_PUBLIC_USER -调用存储在Oracle Application Express中的RESTful服务定义时使用的帐户。APEX_INSTANCE_ADMIN_USER -用于REST管理界面的最低特权帐户。@apex_ebs_env.sql --设置环境变量。

2023-03-30 17:19:40 733

原创 EBS CDB ADG配置

开启ADG的过程,只会将CDB置于open read only,并不会将mount状态的pdb1也开启为open read only,开库pdb会重建临时表空间​。--主库添加standby logfile,由于redo仅有3组,此处standby我们添加4组​。--恢复完成后没有redolog日志,在开启日志应用的时候自动创建​。无会话切换:(无会话,主库切换状态为TO STANDBY)​。通过上一步骤生产的监听为动态监听,请配置静态监听​。3 备库:检查备库是否可以切换到主库的状态​。

2023-03-30 16:54:39 208

原创 rman备份加密概述

这种方法不需要设置密码,很适合在本地的备份与恢复,如果备份不需要传到其他的机器上,建议采用这样的加密方法。这个关键字,这种情况下,如果在本地备份与恢复,是不需要密码的,如果是在异地恢复(如在别的机器上恢复该备份),只需要设置解密的密码即可。默认的加密方式,比较适合于同一服务器进行的备份和恢复,换台服务器就无法识别了,因为缺少必备的密钥。这是最简单的模式,备份的时候通过以下语句设置备份密码,然后备份数据库或对应的表空间、数据文件等。在创建备份前设置密码,任何需要恢复的机器上执行恢复操作前指定密码即可。

2023-03-30 16:48:28 295

原创 oracle 锁机制

FOR UPDATE)另外,基本的锁类型(S、X)与意向锁类型(IS、IX)之间还可以组合出新的锁类型,理论上可以组合出4种,即:S+IS,S+IX,X+IS,X+IX,但稍加分析不难看出。意向排它锁(Intent Exclusive Lock,简称IX锁):如果要对一个数据库对象加X锁,首先要对其上级结点加IX锁,表示它的后裔结点拟(意向)加X锁。Oracle的DML锁(数据锁)正是采用了上面提到的多粒度封锁方法,其行级锁虽然只有一种(即X锁),但其TM锁(表级锁)类型共有5种,分别称为共享锁(S锁)、

2023-03-29 14:07:22 653

原创 oracle统计信息详解

收集表中列的数据分布的信息,数据分布最基本的信息是最大值和最小值,但是如果数据分布是倾斜的,这种级别的统计对于优化器来说不够的,对于倾斜的数据分布,直方图通常用来作为列统计的一部分。对于分区表,如果仅仅是一个分区有了较大改动,只需要收集一个分区的统计,但是收集整个表的分区也是必要的。在表的各个层次都会有不同的统计信息,通过这些统计信息来描述表的,列的各种各样的统计信息。对所有更改活动中的对象自动统计应该足够充分,由于自动统计收集在夜间进行,因此对于一些更新频繁的对象其统计可能已经过期。

2023-03-29 12:06:05 5049

原创 Oracle_Audit_审计

之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法。会对之后创建的所有数据库对象有效,似乎没办法指定只对某个用户创建的对象有效,想比。注重用户是自己表的所有者,所以用户访问自己的表不会被审计。审计以一种非常具体的级别捕捉用户行为,它可以消除手动的、基于触发器的审计。要捕捉如此具体的更改,您将不得不编写您自己的触发器来捕捉更改前的值,或使用。中所有对象的审计功能,只能一个一个对象审计,对于后面创建的对象,身份登录的用户)的操作都会被记录,

2023-03-29 12:04:08 843

原创 mysqldump命令详解

-skip-opt ----跳过 --add-drop-table, --add-locks,--create-options, --quick, --extended-insert等。以及 用于将数据加载到表中的语句。--master-data ----如果有写log-bin且版本为5.0以上的版本,打开-lock-all-tables。--events ----如果是5.1以上的版本使用,包含事件。

2023-03-29 11:43:23 6383

原创 MySQL分库分表方案及sharding-spher介绍

注:写入时,基因法生成user_id,如图。第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。支持多分片键,由于多分片键之间的关系复杂,因此并未进行过多的封装,而是直接将分片键值组合以及分片操作符透传至分片算法,完全由应用开发者实现,最大的灵活度。最后添加代码进行测试,加入一个插入和查询的方法,查看日志,插入操作的是主服务器,而查询数据是操作的从服务器。

2023-03-29 11:33:30 834

原创 Xtrabackup介绍及使用

Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB, 开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。xtrabakackup有3个工具,分别是xtrabakup、innobakupex、xbstreamxtrabackup 支持InnoDB,XtraDB。

2023-03-28 10:32:41 684

原创 Oracle Flex ASM与Flex集群详解

数据库实例使用一个专用 ASM 实例,我们强制该 ASM 实例被停止工作来模拟故障,因此数据库实例重新连接到另一节点(在本示例中为节点 2 (rac2))上的现有 ASM 实例。

2023-03-28 10:27:39 561

原创 ChatGPT带来的影响有哪些

研究团队声称新算法的检测的准确性能有了实质性的提高,并表明该技术可对未来越来越普遍的人工智能写作论文事件起到很好的反制作用。2月2日,微软官方公告表示,旗下所有产品将全线整合ChatGPT,除此前宣布的搜索引擎必应、Office外,微软还将在云计算平台Azure中整合ChatGPT,Azure的OpenAI服务将允许开发者访问AI模型。总而言之,ChatGPT俨然已是现阶段非常出色的AI,也基本可以实现合乎逻辑的对话生成,并能够在较短时间里生成大量高质量的文本内容,以及给予相对准确的答案和自我修正。

2023-03-27 19:23:51 3950

原创 mysql binlog 日志详解及恢复

在下面你将看到 mysqlbinlog --stop-datetime="2019-04-20 9:59:59″ /u01/mysql3308/binlog/mysql-bin.000001 | mysql -u root -pmypwd 类似的语句,这是把mysql-bin.000001这个二进制文件里的内容转换成ASCII文件(也就是sql语句),直接通过管道操作符”|”传输给 mysql这个程序,然后过滤掉其它数据库的语句,只在db_test里执行。在该行中,从上午10:01登录的SQL语句将运行。

2023-03-27 18:52:43 5600

原创 ORACLE + ODBC + DBLINK 连接 MYSQL

系统时会产生一个专用的代理进程,每个用户会话接收自己的代理进程。可以新建个单独的监听,也可以在原有的监听中加入。异构服务是数据库的集成组件,提供了连接到非。配置文件,记录了连接到服务器所需的驱动信息和数据库信息。:追踪级别参数,出于性能影响一般不配置或者配置为。负责管理应用程序和驱动程序间的通信,包括:解析。,若遇到网关问题需要跟踪日志,则配置为。服务器,并将结果返回给应用程序。,加载和卸载驱动程序,处理。调用,将其传递给驱动程序。),配置数据源信息(驱动、CONNECT 右括号后面。

2023-03-24 18:01:32 4112 2

原创 MyDumper 介绍及使用

s, --source-db # 被还原的数据库(源数据库),-s db1 -B db2,表示源库中的db1数据库,导入到db2数据库中。-O, --omit-from-file # 包含数据库列表的文件。-O, --omit-from-file # 包含数据库列表的文件。--no-check-generated-fields # 与生成的字段相关的查询将不会被执行。

2023-03-23 21:06:26 1215

原创 mysql--my2sql 详解

从解析效率对比来看,my2sql 是优胜于 binlog2sql 的,并且 my2sql 另外还具有解析大事务或者长事务,生成 DML 统计信息的功能,是很实用一款 binlog 解析工具,但是通过实验来看,my2sql 的并发功能似乎并没有加快其解析效率,建议解析时使用默认的线程数即可。my2sql 工具在使用时需要注意下字段的数据类型,存在解析 bug ,会导致解析的数据与原数据有差异,具体参考:​ ​https://github.com/liuhr/my2sql/issues/31​​。

2023-03-23 21:02:57 1844

原创 MySQL--binlog2sql 安装及使用

INSERT INTO `test`.`tt8`(`id`, `id_tye`, `zdr_id`, `zdr_name`, `zt_name`) VALUES (30, 'OUT', '辽宁KK服务有限公司', 'SYSADMIN', 'sysadmin');--stop-position/--end-pos 终止解析位置。--stop-file/--end-file 终止解析文件。--back-interval -B模式下,每打印一千行回滚SQL,加一句SLEEP多少秒,如不想加SLEEP,请设为0。

2023-03-22 19:29:31 515

原创 Mysql8.0.23+ 主从复制

没有给客户端以事务成功的反馈,但是在连接主库的其他客户端上是能查询到主库修改的数据,此时发生故障,从库切主库时相当于丢失了数据。,然后再提交到存储引擎,在提交到存储引擎前,主从上都查不到事务的修改,此时发生故障切换,不算丢失数据,因为故障前的事务尚未完成。模式先提交到存储引擎,那么主库上事务相当于已经完成了,虽然没有等到从库的。从提交流程可以看出,两个模式的区别就是提交到存储引擎与等待从库的。至此,一个简单的主从环境搭建完成,需要注意的时。作为级联的中转库,需要开启半同步的主、从参数。

2023-03-21 13:34:01 227

原创 mysqlbinlog 远程备份

命令示例:mysqlbinlog -v --base64-output=DECODE-ROWS --read-from-remote-server --raw --host=x.x.x.x --port=3306 --user=root --password=123456 --stop-never mysql-bin.000001。譬如对于mysql-bin.000001,--raw不支持--database,--start-datetime,--end-datetime,--end-position。

2023-03-21 13:29:53 133

原创 mysql binlog 日志详解

在下面你将看到 mysqlbinlog --stop-datetime="2019-04-20 9:59:59″ /u01/mysql3308/binlog/mysql-bin.000001 | mysql -u root -pmypwd 类似的语句,这是把mysql-bin.000001这个二进制文件里的内容转换成ASCII文件(也就是sql语句),直接通过管道操作符”|”传输给 mysql这个程序,然后过滤掉其它数据库的语句,只在db_test里执行。在该行中,从上午10:01登录的SQL语句将运行。

2023-03-20 16:39:46 3859

原创 Xtrabackup介绍及使用

全备份:innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtrabk --password=xtrabk /home/mysql/backup/一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。指明基于上一个增量备份路径做增量备份:增量备份之后再一次进行增量备份时,其--incremental-basedir应该指向上一次的增量备份所在的目录。

2023-03-20 16:36:26 401

原创 在linux上安装mysql

启动数据库(手工启动) 参数文件如果不指定,查找路径(/etc/my.cnf /etc/mysql.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf)mysql>grant all on abc.* to 'yao'@'%';

2023-03-19 20:46:50 36

原创 Mysql8 GTID 复制

1.1 GTID全称Global transaction identifiers,也称之为全局事务ID。MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中,这是一个非常重要的文件,不能删除,这一部分是不会变的。下面是一个uuid的值举例:[auto]另外一部分就是事务ID了,随着事务的增加,值依次递增。也就是说,GTID实际上是由UUID+TID组成的。

2023-03-19 20:44:26 416

EBS MAA 架构讲解及配置

EBS MAA 架构讲解及配置

2023-03-31

配置GoldenGate同步DDL语句

配置GoldenGate同步DDL 详细内容及命令

2023-03-24

mysql8.0.23+ 主从配置

mysql8.0.23+ 主从配置

2023-03-18

空空如也

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

TA关注的人

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