摘要:OceanBase、Oracle 和 MySQL 是三种不同的数据库管理系统,各自在架构、性能、应用场景等方面有显著区别。以下是它们的主要差异: 1. 架构设计 OceanBase:分布式架构,采用 Shared-Nothing 设计,具备高可用性和强一致性,支持水平扩展。 Oracle:集中式架构
阅读全文
摘要:问题描述 环境是单主+2台Secondary节点,服务器OS版本及MySQL版本均一致。其中一个Secondary节点的虚拟机需要迁移。迁移前MGR状态正常,数据也均保持同步。 在迁移前手动关闭了此Secondary节点的mgr: stop group_replication; 并且关停了mysql
阅读全文
摘要:请手工删除之前所有的归档日志和备份文件,并对现在的数据库做一个全备 RMAN> backup database; // 全库备份 查看当前日志状态 SQL> select a.group#, a.member, b.status from v$logfile a, v$log b where a.g
阅读全文
摘要:请手工删除之前所有的归档日志和备份文件,并对现在的数据库做一个全备 RMAN> backup database; // 全库备份 模拟故障:将该文件清空 echo ‘’ > /u01/app/oracle/oradata/orcltest/system01.dbf 现象:查询数据字典报错 SQL>
阅读全文
摘要:文件说明:这里所说的参数文件指的是spfile,该文件存储的是实例启动的参数和控制文件的路径 模拟故障:清空该文件 echo ‘’ > $ORACLE_HOME/dbs/spfileorcltest.ora 现象:修改数据库参数时会报错 SQL> alter system set open_curs
阅读全文
摘要:文件说明:密码文件存储的是sys密码 模拟故障:清空该文件 echo '' > $ORACLE_HOME/dbs/orapworcltest // orcltest是该数据库的实例名现象:使用sys通过oracle net登录报密码错误sqlplus sys/123456@10.40.16.120:
阅读全文
摘要:mysql数据库长时间未操作自动断开连接由参数:interactive_timeout和wait_timeout控制,默认都是8小时(28800分钟) mysql> show variables like '%timeout%'; + + + | Variable_name | Value | +
阅读全文
摘要:第一种方法: 使用oracle自带的runInstaller 卸载 1 2 3 [oracle@VM_0_14_centos deinstall]$ cd $ORACLE_HOME [oracle@VM_0_14_centos 11.2.0]$ cd deinstall/ [oracle@VM_0_
阅读全文
摘要:触发器 触发器是一个特殊的存储过程,不同的是存储过程要用CALL来调用,而触发器不需要使用CALL 也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MYSQL自动调用。 触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。 作用 触发器可通过数据
阅读全文
摘要:1,查看CentOS的版本号: cat /etc/centos-release 显示结果: CentOS Linux release 7.3.1611 (Core) 2. 查看内核版本 查询操作系统内核版本信息为: uname -r 查询结果: 3.10.0-514.26.2.el7.x86_64
阅读全文
摘要:1、Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息, /var/log/cron 该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的
阅读全文
摘要:MySQL 里面表级别的锁有两种:一种是表锁,一种是元数据锁(meta data lock,MDL)。 表锁 lock tables 表名 read; #该表可以读,不能ddl 和 dml 中增删改,只能读取表数据 lock tables 表名 read; # 既不能读,也不能写 表锁的语法是 lo
阅读全文
摘要:一、约束的状态 可以指定启用(ENABLE)或者停用(DISABLE)约束。如果启用约束,当在数据库中输入或者更新数据时要进行数据检查,不符合约束规则的数据不能输入数据库。如果停用约束,那么不符合规则的数据也能输入到数据库中。 另外,也能制定表中的现有数据必须符合约束(VALIDATE);相反地,如
阅读全文
摘要:实验数据准备 SQL> create table scott.htz1 as select * from dba_objects; SQL> create table scott.htz2 as select * from dba_objects; SQL> create table scott.h
阅读全文
摘要:死锁是指两个或两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象。 1 数据库层面解决死锁的两种方式 1、解决死锁的问题最简单的方式是不要有等待,将任何的等待都转化为回滚,并且事务重新开始。 这种没有死锁问题的产生。在线上环境中,可能导致并发性能的下降,甚至任何一个事务都不能进行。而
阅读全文
摘要:MySQL提供了对每个用户的资源限制管理 MAX_QUERIES_PER_HOUR : 一个用户在一个小时内可以执行查询的次数(基本包含 所 有 语 句 ) MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修 改数据库或表的语句) MAX_CONNECTION
阅读全文
摘要:ANSI 更改语法和行为, 使其更符合标准SQL。 STRICT_TRANS_TABLES TRADITIONAL 使MySQL的行为象“传统”SQL数据库系统。 该模式的简单描述是当在列中插入不正确的值时“给 出 错误 而不是警告” 等同STRICT_TRANS_TABLES、 STRICT_AL
阅读全文
摘要:# 创建一个用户 mysql> create user keme@'localhost' identified by '123456'; # 给一个只读权限 mysql> grant select on *.* to keme@'localhost'; # 可以从本地登录 [root@mysql-1
阅读全文
摘要:如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。 mysql根据max_allowed_packet参数来限制server接受的数据包大小。 当一个MySQL客户或mysqld服务器得到一个max_allowed_packet个
阅读全文
摘要:连接数过多,导致连接不上数据库,业务无法正常进行 该错误发生在有max_connections个客户连接了mysqld服务器, 应该重启mysqld, 用更大的max_connections变量值 1 2 3 4 5 6 7 8 #默认连接数 mysql> show variables like '
阅读全文
摘要:前段时间,将线上MySQL数据库升级到了5.7。考虑到可能产生的不兼容性,在升级之前,确实也是战战兢兢,虽然测试环境,开发环境早在半年前就已提前升级。 基于前期的调研和朋友的反馈,与开发相关的主要有两点: sql_mode MySQL 5.6中,其默认值为"NO_ENGINE_SU BSTITUTI
阅读全文
摘要:介绍 ln是linux的一个重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘
阅读全文
摘要:在使用gei fetch 或者 sftp的时候,出现 Bad owner or permissions on .ssh/config的问题的解决办法 修改.ssh/config的权限: sudo chmod 600 .ssh/config 或者 sudo chown $USER .ssh/confi
阅读全文
摘要:当 JVM 内存严重不足时,就会抛出 java.lang.OutOfMemoryError 错误。本文总结了常见的 OOM 原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。 1、Java heap space 当堆内存(Heap Space)没有足够空间存放新创建的对象时,就会抛出 ja
阅读全文
摘要:问题 我们在设计表结构的时候,设计规范里面有一条如下规则:对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。为什么这么规定,主要基于两个方面 基于存储空间的考虑 基于性能的考虑 网上说Varchar(50)和varchar(500)存储空间上是一样的,真的是这样吗?基于性能考虑,
阅读全文
摘要:在Linux中进行系统性能的峰值测试,也称为压力测试或极限测试,是为了确定系统在极端条件下的表现和稳定性。这种测试可以帮助识别系统的瓶颈和故障点。以下是进行系统性能峰值测试的步骤: 1. 确定测试目标 明确你想要测试的性能指标,如CPU、内存、磁盘I/O、网络带宽等。 2. 选择压力测试工具 根据测
阅读全文
摘要:skip-grant-tables的解法 首先,关闭实例 这里,只能通过kill mysqld进程的方式。 注意:不是mysqld_safe进程,也切忌使用kill -9。 # ps -ef |grep mysqld root 6220 6171 0 08:14 pts/0 00:00:00 /bi
阅读全文
摘要:1.脚本自杀正文 有些时候我们写的shell脚本中有一些后台任务,当脚本的流程已经执行到结尾处或将其kill掉时,这些后台任务会直接挂靠在init/systemd进程下,而不会随着脚本退出而停止。 例如: [root@mariadb ~]# cat test1.sh #!/bin/bash echo
阅读全文
摘要:MySQL 中的集群部署方案 前言 这里来聊聊,MySQL 中常用的部署方案。 MySQL Replication MySQL Replication 是官方提供的主从同步方案,用于将一个 MySQL 的实例同步到另一个实例中。Replication 为保证数据安全做了重要的保证,是目前运用最广的
阅读全文
摘要:数据库:MySQL 8.0.27安装包:mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar系统:rhel 7.3 64位 1、准备工作 说明:1.1至1.3均需在三台服务器执行. 1.1、修改hosts文件 --在hosts中设置hostname与IP映射绑定关系. [
阅读全文
摘要:在Linux中进行系统性能的持续监控,需要综合运用各种命令行工具和图形化界面工具,以及自动化脚本和第三方监控平台。以下是实现持续监控的一些建议步骤和工具: 1. 使用基础命令行工具实时查看 top: 实时查看CPU使用率、内存占用、运行中的进程等基本信息。 htop(一个增强版的top): 提供更友
阅读全文
摘要:昨天写 SQL Server 数据库上写 SQL 语句时,我原本想通过执行A left join B on ... and ...的操作,将查询结果中的两条记录合并成一条,奈何发现结果中依然有两条记录。 回顾了一下语法知识,意识到join on ... and ...的语句并不会对结果集的记录条数进
阅读全文
摘要:查询字段注释 查询表注释字段注释 SELECTa.TABLE_SCHEMA 库名,a.table_name 表名,a.table_comment 表说明,b.COLUMN_NAME 字段名,b.column_comment 字段说明,b.column_type 字段类型,b.column_key 约
阅读全文
摘要:前言 当Oracle 归档日志满了后,将无法正常登入oracle,需要删除一部分归档日志才能正常登入ORACLE。 最近在工作中遇到一个问题,Oracle 11g数据库使用RMAN没办法删除旧的归档,导致磁盘使用率很高。 oracle@hfzsd:[/u01/app/oracle/oradata/o
阅读全文
摘要:show variables where Variable_name like 'COLLATION%' collation_connection utf8mb4_0900_ai_cicollation_database utf8mb4_general_cicollation_server utf8
阅读全文
摘要:使用 mysqlbinlog 备份二进制日志文件 默认情况下,mysqlbinlog读取二进制日志文件并以文本格式显示其内容。这使您能够更轻松地检查文件中的事件并重新执行它们(例如,通过将输出用作 mysql的输入)。mysqlbinlog可以直接从本地文件系统读取日志文件,或者, --read-f
阅读全文
摘要:开发应用程序久了,总想刨根问底,尤其对一些有公共答案的问题。大家都能解释,但是追根究底,都解释不清。凡是都有为什么,而且用数字说明问题是最直观的。本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立数
阅读全文
摘要:血一般的教训,请慎用insert into select。同事应用之后,导致公司损失了近10w元,最终被公司开除。 1事情的起因 公司的交易量比较大,使用的数据库是 mysql,每天的增量差不多在百万左右,公司并没有分库分表,所以想维持这个表的性能只能考虑做数据迁移。 同事李某接到了这个任务,于是他
阅读全文
摘要:(1).如果没有特殊定制bash环境或有特殊需求,$"string"和"string"是完全等价的,使用$""只是为了保证本地化。 以下是man bash关于$""的解释: A double-quoted string preceded by a dollar sign ($"string") wi
阅读全文
摘要:MySQL/MariaDB中的事务和事务隔离级别 分类: 数据库系列 undefined 官方手册:https://dev.mysql.com/doc/refman/5.7/en/innodb-locking-transaction-model.html 1.事务特性 事务具有ACID特性:原子性(
阅读全文
摘要:show processlist和show full processlist processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。 如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到
阅读全文
摘要:“你怎么能如此自信地面对程序中的错误呢?” 测试小姐姐以质疑的口吻向程序员小哥哥提出挑战。事件的导火索是公司的测试小姐姐在评估产品时发现了几个错误。恰巧,编写这个产品的程序员与测试小姐姐关系不错,两人经常互相打趣。 当测试小姐姐发现程序员小哥哥的代码存在错误时,她以戏谑的口吻说:“看你的代码,简直就
阅读全文
摘要:1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) >
阅读全文
摘要:问题描述:安装mysql mha执行masterha_check_ssh时报错Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password),如下所示: 系统:rhel 7.9 64位 mha安装包:mha4mysql-node
阅读全文
摘要:在Linux系统中,修改系统打开的最大句柄数(通常称为文件描述符数)是一个系统管理员可能会遇到的常见任务。以下是一个详细的步骤说明,包括如何查看当前限制和如何修改这些限制。 一、查看当前限制 在修改之前,了解当前的句柄数限制是很重要的。这可以通过几种方式来完成: 查看用户级限制: 使用ulimit
阅读全文
摘要:学生表 如下: 删除除了自动编号不同, 其他都相同的学生冗余信息 delete tablename where 自动编号 not in( select min( 自动编号) from tablename group by 学号,姓名,课程编号,课程名称,分数)
阅读全文