mysql和oracle数据库相关
文章平均质量分 54
mysql和oracle数据库相关
寅灯
本人爱好互联网技术,乐观开朗,乐于助人!
展开
-
mysql和pg等数据库之间的数据迁移实战分享
mysql和pg等数据库之间的数据迁移是常见的问题:比如一开始使用Oracle,后来想使用mysql,而且需要把Oracle数据库的数据迁移到mysql里面;后期有想使用pg数据库,同时需要把Mysql数据库的数据迁移到pgl里面,等等诸如此类数据迁移,都是一个重要问题。基于此,我们今天分享mysql数据迁移到pg数据库的案例。自定义选择或者选择全部数据,再点击下一步,就可以开始传输数据了,如果有错误,有日志实时打印。到此,不同数据库之间的数据迁移暂时分享完成,后面我们会持续更新更新的迁移方案,敬请期待!原创 2024-09-02 17:00:31 · 1360 阅读 · 0 评论 -
Docker安装MySQL镜像实战分享
今天我们对Docker安装MySQL镜像进行实战分享,以更深入的了解容器的使用场景。我们在云付服务器Ubuntu环境上已经安装好了Docker,接下来我们开始安装mysql5.7版本,安装mysql有两种思路,直接拉取mysql镜像和自己做mysql镜像(因为你拉取的也是别人做的镜像)。到此,Docker安装MySQL镜像实战分享阶段性完成,后期我们会继续分享其更深入的使用,敬请期待!9、如果客户端连接不上,可能是远程连接的问题,需要授权,之后再客户端连接。2、也可以在云环境上查看存在的镜像。原创 2024-03-05 17:56:03 · 2330 阅读 · 1 评论 -
navicat连接postgresql、人大金仓等数据库报错
打开 Navicat 文件夹(通常在 C:\Program Files\PremiumSoft\Navicat Premium 15\) 下),取决于您的 Navicat 版本找到libcc.dll并创建此文件的备份(将其复制并粘贴为“libcc-old.dll”或任何其他名称)这里注意:navicat连接postgresql、人大金仓数据库时均选择postgresql类型,因为人大金仓数据库底层和psql数据库类似。在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如。原创 2024-01-26 15:02:56 · 5357 阅读 · 0 评论 -
mysql使用过程常见报错问题解决
mysql是我们常用的数据库,在使用过程中难免会遇到错误,今天开始陆续总结一些常见的问题,避免大家后期踩坑。今天分享完成,后期我们会持续更新,敬请期待!原创 2024-01-21 17:07:14 · 431 阅读 · 0 评论 -
解决mysql导入sql文件慢、错等问题
解决mysql导入sql文件慢、错等问题原创 2023-03-22 17:23:10 · 3632 阅读 · 0 评论 -
linux环境安装mysql5.7版本
linux环境安装mysql5.7版本原创 2023-01-15 20:03:51 · 792 阅读 · 0 评论 -
win环境mysql版本升级到5.7过程
win环境mysql版本升级到5.7过程原创 2022-12-24 11:46:39 · 3104 阅读 · 3 评论 -
从根本上解决mysql主从复制的延迟问题
上篇分享了从系统层面解决mysql主从复制的延迟问题可先参考今天分享根本上解决mysql主从复制的延迟问题。一、并行复制的原理:很多码友在自己线上的业务系统中都使用了mysql的主从复制,但是大家需要注意的是,并不是所有的场景都适合主从复制,一般情况下是读要远远多于写的应用,同时读的时效性要求不那么高的场景。如果真实场景中真的要求立马读取到更新之后的数据,那么就只能强制读取主库的数据,所以在进行实现的时候要考虑实际的应用场景,不要为了技术而技术,这是很严肃的事情。在mysql5.6版本.原创 2022-02-02 19:20:00 · 3206 阅读 · 0 评论 -
mysql主从复制延迟问题及解决方案
上篇我们分享了主从复制的原理可参考今天我们分享主从复制所遇到的延时问题及解决方案:及在主库刚刚写入,就立刻去从库中取数据,此时主库数据开没有同步到从库,造成查不到数据的后果。这块技术方案是一个业界的难点,很能考验一个公司或者个人的技术功,废话少说,现在开始!一、查看同步延迟状态在从服务器上通过 show slave status 脚本命令查看具体的参数,有几个参数比较重要:master_log_file: slave中的IO线程正在读取的主服务器二进制日志文件的名称read_maste.原创 2022-02-02 18:47:50 · 2340 阅读 · 0 评论 -
mysql 5.7版本主从复制的原理分析
在互联网产品中数据库主从复制是很常见的业务场景,今天我们就详细分析一下其原理,从为什么需要主从复制、到什么是主从复制、再到主从复制的过程、最后到主从复制中可能遇到的问题及解决方案:一、为什么需要主从复制?1)、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。2)、做数据的热备3)、架构的扩展。业务量越来越大,I/O访问频原创 2022-01-28 18:17:20 · 256 阅读 · 0 评论 -
Spring Boot集成Sharding-JDBC实现分库分表+读写分离
查看此文章前先参考上篇文章,数据分表和读写分离今天开始分享分库分表+读写分离,相关jar包参考以前文章,数据源也大概相同,核心在配置文件,废话少说,开始:1、此次采用4个数据库user0,user1,user2,user3,三张表 tbl_user0、tbl_user1、tbl_user2,两主两从配置策略。2、数据库表/mapper/xml配置2.1、user0 、user1 数据库表结构CREATE TABLE `tbl_user0` ( `id` bigint(20) NOT原创 2022-01-26 21:36:11 · 2030 阅读 · 2 评论 -
Spring Boot集成Sharding-JDBC实现数据分表+读写分离(三)
分享之前先参考:数据分离数据源配置今天紧接着分享数据分表和读写分离,也是我们常用的业务场景之一:1、相关jar包和三个数据源同上一篇保持一致:2、相关建表语句/实体类/mapper/xml配置:2.1、建表语句:CREATE TABLE `tbl_user0` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) DEFAULT NULL COMMENT '名称', `city_id` int(12.原创 2022-01-26 18:09:00 · 1101 阅读 · 0 评论 -
5.7.X版本Mysql数据库主从搭建
mysql 5.7.22安装这是系列文章Sharding-jdbc文章的第一篇,本篇文章主要讲述如何搭建Mysql的主从。搭建环境为centos 7.5,数据库版本为5.7.22。需要三台虚拟机,一主两从,读者可以在自己的电脑上创建虚拟机,也可以在云服务商买三台,按小时计费,一小时几毛钱,比较实惠。Ip分配如下:127.0.0.1 主127.0.0.2 从127.0.0.3 从1、navicat客户端查询mysql版本:select version() from dual...原创 2022-01-26 21:47:07 · 1401 阅读 · 0 评论 -
mysql 集成 sharding-jdbc/springBoot进行读写分离实战配置
在我们是使用数据库的过程中不管是否进行了分库分表,作为常规的产品,数据库读写分离是必备的,一般是一写多读,主库写,从库读;合理解决数据库并发问题。今天我们分享一写两读的数据库架构理念。1、数据库相关jar 引用: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId>原创 2022-01-15 13:17:08 · 467 阅读 · 0 评论 -
SpringBoot集成Sharding-JDBC实现分表策略
开胃菜,今天开始进入分库分表的分享主题,今天先进行分表操作,也应该是分库分表的第一步,首先参考分库分表文章这篇只分享不同之处,主要是配置文件略有差异:1、对一张表进行分表:config: sharding: tables: user_info: #表名 actual-data-nodes: pr_master_slave.user_info$->{0..99} #分成哪些表 table-s原创 2022-01-14 21:51:23 · 758 阅读 · 0 评论 -
SpringBoot集成Sharding-JDBC实现分库分表实战(二)
上一篇我们简单实现分库分表,:先参考文章。1、上一篇只有在保存分库分表的 user_info表的时候,数据库不报错,其他的表操作都报错:如下Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.IllegalStateException: Missing the data source name: 'null'### The err原创 2022-01-12 21:58:51 · 809 阅读 · 0 评论 -
SpringBoot2.1集成Sharding-JDBC实现分库分表实战(一)
SpringBoot2.1集成Sharding-JDBC实现分库分表是每个互联网企业必备的技术栈,今天我们开始分享一系列文章来详细分析:1、引入核心jar: <dependency> <groupId>io.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId>原创 2022-01-12 00:32:30 · 609 阅读 · 0 评论 -
解决sharding-JDBC强制扫描表结构过程中报错问题
场景启动时报错,项目中使用了分库分表,刚开始运行的一直正常,后来启动时突然报错,于是开始排查原因。查明项目引用的包:<dependency> <groupId>io.shardingsphere</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>3.0.1</version></dependency>原创 2021-09-30 16:08:09 · 1744 阅读 · 0 评论 -
sharding-jdbc配置类ShardingRuleConfiguration源码分析
Sharding核心配置主要如下(官网):分片规则 分片规则配置的总入口。包含数据源配置、表配置、绑定表配置以及读写分离配置等 数据源配置 真实数据源列表 表配置 逻辑表名称、数据节点与分表规则的配置 数据节点配置 用于配置逻辑表与真实表的映射关系。可分为均匀分布和自定义分布两种形式 分片策略配置 对于分片策略存有数据源分片策略和表分片策略两种维度 数据源分片策略: 对应于DatabaseShardingStrategy。用于配置数据被原创 2021-09-29 18:36:40 · 4475 阅读 · 1 评论 -
Mbatis 批量执行报错详解
mybatis 批量插入或更新在很多业务场景是一个节约资源和连接数的好的处理方案,但是有时候数据库配置特别是连接超时时间、等待时间等配置的不合理的时候,执行批量操作就可能报如下错误。1、报错的示例:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 9 millis原创 2021-09-29 10:31:06 · 419 阅读 · 0 评论 -
mysql单个索引和复合索引的区别使用
mysql 数据库查询经常需要创建索引,而索引的种类有多种,单个索引、复合索引等。今天我们重点分享复合索引和单个索引的区别:1、如果我们创建了(area, age,salary)的复合索引,那么其实相当于创建了:(area,age,salary),(area,age)、(area)三个索引,这被称为最佳左前缀原则。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。举例:select * from user where area='18'select * from u原创 2021-09-17 13:33:29 · 1146 阅读 · 0 评论 -
mysql 查询某一天的数据
select * from [table_name] where date_format([date_name],'%Y-%m-%d') = '2016-08-06'SELECT *FROM [table_name] WHERE substring(Convert(char(10),update_time ,112),1,8)='20170927'SELECT *FROM [table_name] WHERE update_time between'2017-09-2700:00:00'...原创 2021-06-01 14:20:29 · 835 阅读 · 0 评论 -
mysql 的原子性和持久性是怎么保证的
原子性:undo log事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部失败回滚。undo log记录了回滚操作的日志,如果要撤销,按照undo log的回滚日志执行一遍就可以了(保证了原子性)持久性:redo log指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的,即使此时再执行回滚操作也不能撤消所做的更改。持久性就是用redo log,不是每次都写入磁盘,而是定期通过redo log把数据刷入磁盘这样即便断电后,重启mysql还原创 2021-06-01 14:19:08 · 499 阅读 · 0 评论 -
mysql 的乐观锁和悲观锁,锁的种类
MyISAM 锁MySQL 的表级锁有两种模式:表共享读锁( Table Read Lock )表独占写锁( Table Write Lock )总结:读锁,对 MyISAM 表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求读锁,对 MyISAM 表的读操作,不会阻塞当前 session 对表读,当对表进行修改会报错读锁,一个 session 使用 LOCK TABLE 命令给表 f 加了读锁,这个 session 可以查询锁定表中的记录,但更新或访问其原创 2021-06-01 14:14:59 · 220 阅读 · 0 评论 -
mysql 如何做分库分表
1,水平分割:例:QQ的登录表。假设QQ的用户有100亿,如果只有一张表,每个用户登录的时候数据库都要从这100亿中查找,会很慢很慢。如果将这一张表分成100份,每张表有1亿条,就小了很多。用户登录的时候,可以将用户的id%100,那么会得到0-99的数,查询表的时候,将表名qq跟取模的数连接起来,就构建了表名。比如123456789用户,取模的89,那么就到qq89表查询,查询的时间将会大大缩短。这就是水平分割。2,垂直分割:垂直分割指的是:表的记录并不多,但是字段却很长,表占用空间很原创 2021-06-01 14:09:24 · 1357 阅读 · 0 评论 -
Mysql索引类型及区别
mysql索引的四种类型:主键索引、唯一索引、普通索引和全文索引。通过给字段添加索引可以提高数据的读取速度,提高项目的并发能力和抗压能力。索引优化时mysql中的一种优化方式。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。主键索引:主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。alerttabletablenameaddprimarykey(`字段名`)唯一索引:索引列的所有值都只能出现...原创 2021-06-01 14:02:43 · 1934 阅读 · 0 评论 -
Mysql存储引擎类型和区别以及原理
MyISAM MySql 5.5 之前默认的存储引擎MyISAM 存储引擎由 MYD 和 MYI 组成适用场景: 非事务型应用(数据仓库,报表,日志数据)只读类应用空间类应用(空间函数,坐标)Innodb Innodb 是一种事务性存储引擎完全支持事务的ACID 特性Redo Log 和 Undo LogInnodb 支持行级锁(并发程度更高)两者区别:...原创 2021-06-01 13:58:53 · 128 阅读 · 0 评论 -
mysql中锁原理及for update悲观锁的详解
mysql中乐观锁和悲观锁原理及种类: 乐观锁并不是数据库自带的,如果需要使用乐观锁,那么需要自己去实现,一般情况下,我们会在表中新增一个version字段,每次更新数据version+1,在进行提交之前会判断version是否一致。 mysql中的绝大部分锁都是悲观锁,按照粒度可以分为行锁和表锁: **行锁:** 共享锁:当读取一行记录的时候,为了防止别人修改,则需要添加S锁 排它锁:当修改一行记录...原创 2021-04-22 14:58:43 · 914 阅读 · 0 评论 -
Mysql 中 聚簇索引和非聚簇索引的区别
Mysql 中 聚簇索引和非聚簇索引的区别:innodb存储引擎在进行数据插入的时候必须要绑定到一个索引列上,默认是主键,如果没有主键,会选择唯一键,如果没有唯一键,那么会选择生成6字节的rowid,跟数据绑定在一起的索引我们称之为聚簇索引,没有跟数据绑定在一起的索引我们称之为非聚簇索引。innodb存储引擎中既有聚簇索引也有非聚簇索引,而myisam存储引擎中只有非聚簇索引。...原创 2021-04-22 14:53:58 · 155 阅读 · 0 评论 -
mysql中 InnoDB和MyISAM存储引擎的区别
mysql中 InnoDB和MyISAM存储引擎的区别:如何选择? 1、是否需要支持事务,如果需要选择innodb,如果不需要选择myisam 2、如果表的大部分请求都是读请求,可以考虑myisam,如果既有读也有写,使用innodb 现在mysql的默认存储引擎已经变成了Innodb,推荐使用innodb...原创 2021-04-22 14:52:09 · 108 阅读 · 0 评论 -
mysql 做分库分表的原理
mysql 做分库分表的原理:使用mycat或者shardingsphere中间件做分库分表,选择合适的中间件,水平分库,水平分表,垂直分库,垂直分表 在进行分库分表的时候要尽量遵循以下原则: 1、能不切分尽量不要切分; 2、如果要切分一定要选择合适的切分规则,提前规划好; 3、数据切分尽量通过数据冗余或表分组来降低跨库 Join 的可能; 4、由于数据库中间件对数据 Join 实现的优劣难以把握,而且实...原创 2021-04-22 14:45:41 · 207 阅读 · 0 评论 -
Mysql中 索引失效的N种场景
Mysql中 索引失效的N种场景:索引失效的情况: 1、组合索引不遵循最左匹配原则。 2、组合索引的前面索引列使用范围查询(<,>,like),会导致后续的索引失效。 3、不要在索引上做任何操作(计算,函数,类型转换)。 4、is null和is not null无法使用索引。 5、尽量少使用or操作符,否则连接时索引会失效。 6、字符串不添加引号会导致索引失效。...原创 2021-04-22 14:44:45 · 508 阅读 · 0 评论 -
mysql中 join原理详解
mysql中 join原理详解:MySQL是只支持一种Join算法Nested-Loop Join(嵌套循环连接),并不支持哈希连接和合并连接,不过在mysql中包含了多种变种,能够帮助MySQL提高join执行的效率。 1、Simple Nested-Loop Join** 这个算法相对来说就是很简单了,从驱动表中取出R1匹配S表所有列,然后R2,R3,直到将R表中的所有数据匹配完,然后合并数据,可以看到这种算法要对S表进行RN次访问,虽然简单,但是相对来说开销...原创 2021-04-22 14:43:16 · 285 阅读 · 0 评论 -
mysql中幻读出现的原因及解决方案
今天分享 mysql中幻读出现的原因及解决方案:一、首先明确什么是幻读:事务A按照一定条件进行数据读取,期间事务B插入了相同搜索条件的新数据,事务A再次按照原先条件进行读取操作修改时,发现了事务B新插入的数据称之为幻读。二、幻读出现的场景:1、如果事务中都是用快照读,那么不会产生幻读的问题2、快照读和当前读一起使用的时候就会产生幻读三、实验验证1、采用mysql 5.6之后的版本和默认的隔离级别RR ,启动A、B两个事务对比,阿拉伯数字递增代表事务执行的时间顺序,比如 1,...原创 2021-04-22 14:26:31 · 5282 阅读 · 4 评论 -
mysql 中 RC、RR隔离级别的原理及区别
今天分享 mysql 中 RC、RR隔离级别的原理及区别:1、首先简介mysql四种隔离级别:1)未提交读(READ UNCOMMITED)脏读2) 已提交读 (READ COMMITED)简称(RC) 不可重复读3)可重复读(REPEATABLE READ)简称(RR )4)可串行化(SERIALIZABLE)二、实验对比RR、RC的区别:采用mysql 5.6之后的版本1、实验1 ,采用mysql默认的隔离级别RR ,启动A、B两个事务对比,阿拉伯数字递增代表事务执...原创 2021-04-22 11:40:29 · 17092 阅读 · 2 评论 -
mysql中MVCC多版本并发控制原理的详解
今天我们分享mysql中MVCC多版本并发控制原理的详解一、MVCC定义1、MVCC简介MVCC,全称Multi-Version Concurrency Control,即多版本井发控制,MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC在MysQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突。做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。2、当前读像select lock in sha.原创 2021-04-21 15:56:12 · 13739 阅读 · 2 评论 -
mysql数据库事务及隔离级别详解
事务应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。原子性(atomicity)一致性(consistency)隔离性(isolation)持久性(durability)隔离性(isolation) 一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。(对数据库的并行执行,应该像串行执行一样)未提交读(READ..原创 2021-04-19 20:58:27 · 4699 阅读 · 1 评论 -
mysql执行计划详解
今天进行 mysql执行计划详解:在分析之前简单说一下索引,起到铺垫作用:MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。 可以得到索引的本质:索引是数据结构。索引的分类:普通索引:即一个索引只包含单个列,一个表可以有多个单列索引 唯一索引:索引列的值必须唯一,但允许有空值 复合索引:即一个索引包含多个列 聚簇索引(聚集索引):并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决 于不同的实现,InnoDB 的聚簇索原创 2021-04-19 20:58:08 · 99 阅读 · 0 评论 -
mysql 存储引擎B+Tree、 B-Tree和hash三种原理及区别
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数.原创 2021-02-25 11:05:17 · 653 阅读 · 0 评论 -
Oracle12C 用户创建、修改、授权、删除、登录等操作
1.以系统用户命令行登录:sqlplus sys/sys as sysdba;2. 确认选择CDBselect name,cdb from v$database; col pdb_name for a30select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;select con_id,dbid,NAME,OPEN_MODE fr...原创 2018-06-19 20:04:43 · 33165 阅读 · 1 评论