数据库
ColdFireMan
这个作者很懒,什么都没留下…
展开
-
【exception】通过mysql客户端登录oceanbase异常
现象有一个oceanbase数据库,提供了登录连接mysql -hxxx.xxx.xxx.xxxx -P2883 -uroot@xxx#xxxx -pxxxx但是执行这个命令就报错Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: NO)一开始以为是网络或者mysql的root登录权限配置的缘故,但是尝试了别的设备上mysql客户端是可以连接的,那么问题就是自己的mysql客户端有问题。最后发现是因为oceanba原创 2022-01-19 16:14:46 · 2035 阅读 · 0 评论 -
【MySQL】升级增量脚本的编写
升级现场的数据库脚本,因为不同现场的版本不一致,所以如果是要升级,需要找到对应的版本,然后一个一个增量脚本升级,但是有的时候有一些现场是直接修改的,不一定是满足某个版本的实际情况,所以想了一个办法,推出升级的所有增量脚本。总的思路就是如果不存在就添加。具体涉及到:表的新建、字段的新建和修改和基础数据的插入。表的新建判断一张表是否存在,不存在就新建,这个比较简单,如下:CREATE TABLE IF NOT EXISTS T_TEST ( `id` varchar(64) NOT NULL.原创 2021-10-13 14:20:21 · 1248 阅读 · 0 评论 -
【exception】ORA-01950 no privileges on tablespace xxxx
因为安全,需要回收oracle用户的dba权限。一开始系统没有出现问题,等过了一段时间,监控系统发现没有数据入库。检查日志,发现出现很多ORA-01950的报错。原因网上搜索资料后,发现是表空间不足的时候,用户会去申请表空间,但是没有权限就没有申请下来。结果一直报这个错误。解决给用户增加该表空间的权限,比如用户XXX没有表空间YYY的权限,修改SQL为:ALTER USER XXX ...原创 2020-03-05 11:11:22 · 616 阅读 · 0 评论 -
【安装错误】windows10安装mysql后启动出现系统错误1067
在新电脑上按照教程安装mysql并且设置成系统服务后,准备启动mysql,结果执行net start MySQL的时候cmd输出 “系统出错。发生系统错误 1067。进程意外终止。”,在网上找了一下资料后,找到了自己失败的原因排查方式:查看系统日志这个我觉得是最重要的,因为我也是通过这个解决的。怎么查看系统日志可以参考这个百度经验:Windows如何打开和使用事件查看器管理计算机。找到日志...原创 2019-12-24 11:06:30 · 646 阅读 · 0 评论 -
【ORACLE】常见sql汇总
查询查询序列的下一个值SELECT EXAMPLE_SEQ.NEXTVAL FROM DUAL;模糊查询的内容中存在%这样的特殊符号select * from ip_table where regexp_like(ip,'%78');PS: 如果是直接like,带有%会被直接默认为匹配符查询关联的外键select a.constraint_name, a.table_...原创 2019-12-09 17:00:26 · 234 阅读 · 0 评论 -
【MYSQL】将非分区表改成分区表
原来的采集数据表collect_data每天的增量为5亿数据,通过简单的条件查询已经无法满足,所以通过分区的方式进行改造。直接将原来的非分区表改成分区表的sql如下,是将数据按照采集时间的日期进行分区。alter table collect_data PARTITION BY LIST (day(collect_time))(partition p1 values in(1),par...原创 2019-11-13 21:30:46 · 1824 阅读 · 0 评论 -
【Linux】centos7通过docker安装oracle 11g
纯净的linux安装过程安装dockeryum updateyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum list docker-...原创 2019-11-03 22:17:02 · 860 阅读 · 0 评论 -
【Mycat】分片规则详解
分片表和非分片表Mycat位于应用和数据库的中间层,可以理解为数据库的代理。不是所有的表都需要分片,数据量小并且不需要做水平切分的表称之为非分片表;数据量大到单库性能、容量不足以支撑,数据需要通过水平切分到不同数据库中的表称之为分片表。ER关系分片表ER模型是实体关系模型,广泛采用概念模型设计方法,基本元素是实体、关系和属性。Mycat创新性地将它引入数据切分规则中,使得有互相依赖的...原创 2019-08-12 16:20:24 · 857 阅读 · 0 评论 -
【mybatis】mybatis调用sqlserver存储过程和表值函数
存储过程和表值函数的区别最简单的区别是存储过程是pr开头的,而存储过程是fn开头的,表值函数返回的是一个表结构的结果。如果mybatis用调用存储过程的方式去调用表值函数,就会抛出以下的异常:exception:不能调用'xxxxx',因为'xxxx'是表值函数对象。调用存储过程如果要调用一个叫做“pr_test_a”的存储过程,需要传入参数并且有返回值。如下所示,resultMap中存...原创 2018-10-15 14:46:13 · 3759 阅读 · 0 评论 -
【MongoDB】记录Java整合MongoDB方法和坑
记录下最近刚操作MongoDB出现的坑第一种方式使用MongoTemplate操作,这个是在springboot中整合了mongodb的常见方法。添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifa原创 2018-09-27 10:33:53 · 882 阅读 · 0 评论 -
【数据库锁】乐观锁、悲观锁理解
参考: MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解乐观锁乐观锁最简单的实现就是在表中加一个版本号字段如version,每次新增设置为1,更新的时候检查版本号是否一致,如果不一致就更新失败。版本一致才能更新,然后将版本号+1。悲观锁首先数据库需要关闭自动提交功能,或者说是在jdbc中将自动提交设置成false。共享锁...原创 2018-08-17 13:46:31 · 294 阅读 · 0 评论 -
【mysql】win10环境mysql 5.7.22的安装
安装过程官网下载MySQL Community Server 版本自己定,我下载的是 5.7.22解压MySQL压缩包将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:”D:\Program Files\mysql\mysql-5.7.22-winx64”,解压的文件夹中新建一个配置文件my.ini,复制下面的配置信息到 my.ini 保存,需要修改的地方是basedi...原创 2018-07-17 17:42:27 · 361 阅读 · 0 评论 -
【sqlserver】比较sqlserver中 timestamp 类型的大小
工作中遇到一个问题,在 sqlserver 表中根据 timestamp 字段值的大小进行一个增量的读取。这个数据格式比较特别,所以花了一段时间研究了一下。timestamp 是什么原来我看名字以为是一个时间戳,是一个 long 型,但是看了 Stack Overflow 上有关的问题,其实这个是一个版本号(version_no),是数据库自己维护的,当这条数据有变化的时候(包...原创 2018-05-23 18:06:11 · 9832 阅读 · 0 评论 -
【mysql】mysql优化策略
案例来自《MySQL管理之道》not in 子查询优化not in 后跟子查询select SQL_NO_CACHE count(*) from test1 where id not in( select id from test2 ...原创 2018-05-05 23:54:18 · 258 阅读 · 0 评论 -
【sql】用sql获取数据库中所有表名
sqlserverUSE db_nameSELECT name FROM sysobjects WHERE xtype='U'GOmysqlSELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA='db_name'原创 2018-04-03 19:46:39 · 280 阅读 · 0 评论 -
【sqlserver】将一张表中的数据插入到另一张表中
应用场景: 有的时候需要把数据从老表迁移到新表中insert into tableA(fieldA1, fieldA2, fieldA2)selectfieldB2, fieldB2, fieldB3fromtableB原创 2017-11-07 10:35:36 · 4957 阅读 · 0 评论 -
【mysql】mysql按时间查询没有某些时间导致数据缺失的解决方法
在做图表的时候,会有需要连续时间的记录的需求.但是假如按照时间查询的时候,某一个时间点的并没有产生数据,导致数据的缺失,按照平时的关联查询,会导致中间的数据出现丢失.本来一个月30天的数据,可能就只有十几天的数据.因此,请教了公司的前辈得到了一个解决方法代码SELECT b.name,b.dtFROM ( SELECT * FROM ( SELECT '2017原创 2017-06-16 23:11:20 · 3451 阅读 · 0 评论 -
【mysql】mysql获取两个集合的交集/差集/并集
mysql的常见场景,获取两个数据集的交集和差集步骤两个集合的结构要一致,对应的字段数,字段类型将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集将上面的所有集 GROUP BY id最后 HAVING COUNT(id)=1,等于1的意思是只出现了一次,所以这个是差集,如果等于2,那么就是交集代码演示-- 下面的sql有明显的问题,不过这个只是一个示意,-- 从原创 2017-06-15 14:08:37 · 34009 阅读 · 7 评论