数据库
文章平均质量分 66
左直拳
程序猿
展开
-
windows下mysql8修改my.ini设置datadir后无法启动问题
mysql默认数据库文件在安装目录下。创建数据库的时候,并不能指定数据文件存放位置。这就很扯。它只能通过修改mysql.ini来更改数据文件存放目录,而且是一刀切的,没有办法做到数据文件和日志文件分开存放。假如服务器有多个盘,就不能利用磁盘不同IO的优势。但是,既然是服务器,通常会做阵列的吧,做了阵列,就无所谓哪个盘了。我这次要说的,是修改mysql.ini后,mysql无法启动的问题。我遇到的是2个原因:一个是mysql.ini修改后字符编码被改变,导致mysql无法识别;原创 2023-12-12 09:28:09 · 2092 阅读 · 0 评论 -
mysql分别在windows和linux下的备份策略
mysql数据库该怎么备份呢?数据库备份有几个概念:全量备份、增量备份、差异备份。当然啦,数据库备份又有冷备份和热备份,即物理备份和逻辑备份之分。冷备份就是将mysql停了,然后直接拷贝它的数据文件,简单粗暴。问题是,数据库怎可轻易停止或重启?所以我们通常说的备份都是指热备份,即逻辑备份。逻辑备份包括全量备份、增量备份、差异备份。全量备份就是整个库备份。增量备份是将上一次全量备份或增量备份后的变化备份。差异备份是将上次全量备份后的变化备份。所以增量备份和差异备份有重叠。原创 2023-12-11 10:42:16 · 440 阅读 · 0 评论 -
字典表(还需要输入2个字)
字典表,是提供项目中一些字段的值,比如某个省的城市列表,或者海洋排污口的类型,等等。其作用,类似于系统开发过程中的数据字典,除了供查阅、备忘外,主要还是为了统一口径和标准。字典表就是将这些统一口径值(标准值)存储下来,供程序读取。最典型的表现,就是页面中的下拉框。这些值从哪里来?就应该从字典表中读取。否则,要么是直接写死在前端页面,但就有个与服务器端保持一致的问题;要么还是从服务器端返回,但变成写死在服务器端,这样用户就不能再修改和维护了。...原创 2022-08-02 11:42:27 · 1901 阅读 · 0 评论 -
数据仓库及数据挖掘
一、数据仓库概述二、数据仓库的建设三、数据仓库的分类四、数据仓库的设计方法五、数据挖掘1、概述2、常用技术与方法3、应用原创 2022-03-26 19:04:53 · 11896 阅读 · 3 评论 -
mysql的日志文件
上回说到数据库的备份与恢复,日志文件在其中占有很重要的位置。但是,我查了下资料,发现想搞懂这个数据库日志其实并不容易。包括网上许多文章,说了许多,但我越看越糊涂。只有一些mysql的日志文件原理介绍,相对好一些。mysql因为应用广泛,使用者众,作为数据库的学习对象,也算有代表性。一、MySQL的日志文件MySQL中有七种日志文件,分别是:重做日志(redo log)回滚日志(undo log)二进制日志(binlog)错误日志(errorlog)慢查询日志(slow query log)原创 2022-03-24 21:51:59 · 3264 阅读 · 0 评论 -
数据库的备份与恢复技术
数据库运行过程中,安全事故的发生难以避免。其中有可能是人为因素,也有可能是硬件设备故障,甚至是自然灾难。因此,数据库除了安全性技术防范,还需要有备份与恢复技术来进一步保障数据的安全,当数据被破坏以后,可以尽可能的将数据库调整到破坏前的状态。数据库备份有多种分类方式。按备份的实现方式,可分为物理备份和逻辑备份,其中物理备份又分为冷备份和热备份;按备份的数据量分,则可分为完全备份、增量备份、差异备份。一、按备份实现方式划分1、冷备份2、热备份3、冷备份 VS 热备份二、按备份数据量划分1、完全备原创 2022-03-22 23:48:40 · 5634 阅读 · 0 评论 -
数据库的安全性
事前防范,事中控制,事后审计。就整个信息系统的安全而言,数据的安全是最重要的。数据库系统的安全性在技术上依赖于两种方式:1)DBMS本身提供的用户身份识别、视图、权限控制和审计等管理措施2)由应用程序实现对数据库的访问控制和管理应用程序写代码来实现对数据的访问控制,不必多言,而数据库本身的安全性措施,如下所示1、用户标识和鉴别最外层的安全保护措施,即身份认证。常用方式有1)口令认证2)强身份认证口令方式可能容易被窃听,不够安全。强身份认证过程使认证可以结合信息安全领域一些更深入的技术保障措原创 2022-03-19 22:33:21 · 8840 阅读 · 0 评论 -
数据库的完整性
一、什么是数据库完整性数据库的完整性是指数据库中数据的正确性和相容性。数据库完整性由各种完整性约束来保证。而完整性约束既可以通过DBMS来保障,也可以通过应用程序来实现。如果是基于DBMS,完整性约束将作为关系模式的一部分存入数据库,也就是说,直接在数据库进行定义。二、完整性的保护措施1、约束条件对数据库中数据设置一些约束条件,作完整性检查。完整性约束条件的作用对象可以是关系(即表)、元组(即行)、属性(即字段、列)。约束在表中定义,运行时检查,发现条件不满足即通知用户,以便采取措施。数据库约束原创 2022-03-18 23:44:42 · 9060 阅读 · 0 评论 -
集中式数据库性能优化
一、硬件升级二、数据库设计三、索引优化策略四、查询优化原创 2022-03-17 22:00:19 · 1334 阅读 · 0 评论 -
分布式数据库系统
分布式数据库在结构上与集中式数据库存在差异。什么差异?集中式数据库是单机版,数据都放在一台机器里,而分布式数据库的数据则散布于网络中。这样的话,分布式数据库查询起来,很有可能需要考察多个节点的数据。那么怎么优化呢?可以说,集中式数据库与分布式数据库查询优化的侧重点不一样。集中式数据库优化主要考虑CPU和IO;而分布式还需要考虑通信代价。相对于CPU和IO的处理速度而言,通信的效率最低,因此,降低通信代价是分布式数据库优化的关键。分布式数据库中,从查询涉及的数据和查询处理过程中的通信模式来划分,可以分为局原创 2022-03-16 22:15:01 · 4232 阅读 · 0 评论 -
分布式数据库分片方式之导出分片
没有按照自己的属性进行分片,而是根据关联关系的属性进行分片。导出分片,又叫导出水平分片,是分布式数据库四种分片方式之一。分布式数据库的4种分片方式分别为:1)水平分片2)垂直分片3)混合分片4)导出分片分片,按照我的理解,就是将完整的数据,分割成若干部分,分开存储。它跟分布式数据库中的各个数据保持一致的数据节点不是同一个概念。可以简单理解为,各个数据节点,数据最终会保持一致,即大家都是一样的。而分片,是每个数据节点里的数据,会分割成若干部分,东一块,西一块,但对外部而言,是一个整体。正如分布式数原创 2021-11-16 23:20:57 · 1951 阅读 · 1 评论 -
kingbase(人大金仓)导出导入指定表
导出用sys_dump,导入用ksql。都采用命令行方式,未登录数据库,在外围进行。项目正处于上线试运行阶段,正式环境下程序有些问题,与数据库有关。我想将正式环境下的一些数据库表导出来,导进开发库。环境:操作系统:UOS(统信,兼容debian、ubantu的国产linux)数据库:kingbase(人大金仓)步骤:一、导出指定表可以用人大金仓自带的数据库对象管理工具,方便快捷。但我面对的服务器,没有桌面端,只有命令行,并且是运行在浏览器上。同一网段的另一台机装有这个工具,但运行报错,说缺少了原创 2021-11-16 18:15:33 · 19879 阅读 · 1 评论 -
为什么说SQL语句中使用IN性能不高?
因为本质上in就是多个=,用or连接起来。同事写了一条SQL语句,我一看,哦买糕的,居然用了4层嵌套的in。SELECT * FROM "publicDB"."system_action" WHERE ACTION_ID IN( SELECT ACTION_ID FROM "publicDB"."system_action_role" WHERE ROLE_ID IN ( SELECT ROLE_ID FROM "publicDB".base_role_user原创 2021-11-01 15:41:27 · 8164 阅读 · 4 评论 -
kingBase中从表多行变一列
使用string_agg()方法。一条SQL语句中,如何将从表的多行记录中的某字段值,集合成一个值,中间以逗号隔开?比如:CREATE TABLE master(id SERIAL,hero varchar(50));CREATE TABLE slave(id serial,master_id int,name varchar(50));INSERT INTO master(hero) values('悲剧英雄');INSERT INTO slave(master_id,name) valu原创 2021-10-28 17:18:20 · 941 阅读 · 0 评论 -
人大金仓最大连接数max_connections未生效问题
有3种可能:1)修改值后未重启数据库2)通过命令alert system修改了系统参数,保存到了kingbase.auto.conf,优先级高于kingbase.conf3)kingbase.conf中重复设置早上又报连接数不够的问题。运行 show max_connections,怎么还是500?明明上周已设成1000。运行命令:SELECT sourcefile,name,setting,applied FROM sys_file_settings;发现有2个max_connection原创 2021-08-04 17:02:12 · 3849 阅读 · 2 评论 -
人大金仓最大连接数
人大金仓的连接数数量,需要根据服务器内存大小设置。公司有台开发用的数据库服务器,专门跑人大金仓,人大金仓的最大连接数设置为500。但开发过程中,不到20号人一起开发,连接数时有耗尽。报这个错:com.kingbase8.util.KSQLException: 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留还别说,kingbase起源于开源数据库项目postgreSql,概念玩起来一套套的,感觉比oracle还丰富。像这种在连接耗尽,为超级用户保留少量连接通道的思想就很赞。回到我们的开发原创 2021-07-31 19:58:53 · 9023 阅读 · 5 评论 -
一次人大金仓剔除锁经历
前几天有同事在群里问,怎么杀掉人大金仓的锁?因为伊在安装软件的时候遇到警告,提示有锁,无法继续。这种问题,应该由DBA负责,但我们都是二把刀,甚至连二把刀都称不上,不是专业的DBA,况且人大金仓刚接触。不过就算oracle,遇到这种问题,也只能查资料或翻看以往的记录,不可能记住这些繁琐的命令。这次也是从网上搜来的语句,我试了一下,问题解决。SELECT pid,usename,application_nameapp,client_addr,xact_start,wait_event_type,wait原创 2021-06-26 16:24:58 · 1648 阅读 · 0 评论 -
将pg的表复制到人大金仓
下午将pg下的一个表导到人大金仓里。记录一下过程。1、从pg导出在人大金仓迁移工具里,没有看到支持pg,因此用不了这个迁移工具。首先进pg,选中源表,鼠标右键,export,导出为csv文件,带标题,utf8编码。2、到人大金仓中导入采用人大金仓的终端。chenqu@chenqu-uos:~/projects/gzdd/cloud$ ksql -h 127.0.0.1 -U SYSTEM -W password TESTksql (V008R003C002B0290)Type "help" f原创 2021-06-26 15:49:31 · 1895 阅读 · 0 评论 -
统信下人大金仓终端创建schema和用户
一定要用终端,命令行的方式才够酷。1、登录数据库chenqu@chenqu-uos:~$ ksql -h 192.168.0.202 -U system -W 密码 数据库名称如果不记得命令,可以查看帮助chenqu@chenqu-uos:~$ ksql --helpksql is the Kingbase interactive terminal.Usage: ksql [OPTION]... [DBNAME [USERNAME]]General options: -c, --原创 2021-06-12 10:17:14 · 3933 阅读 · 1 评论 -
统信下人大金仓创建表空间及导入oracle数据
因为国产化,数据库采用国产的人大金仓,原先存放于oracle 12c的数据也要迁移过来。人大金仓,改自开源的数据库项目pg(postgreSql),这点人大金仓自己也承认。因此目前查人大金仓,如果资料匮乏,直接查pg也是可以的,高度相似。不过这也可以理解,先解决有无的问题,用一个开源的框架进行修改,等完全吃透了,人才也储备了,就可以推陈出新,青出于蓝。操作系统、数据库、中间件、基础应用软件(如matlab这类),都掌握在自己人手里。数据由oracle迁移到人大金仓KingBase8,步骤是什么呢?一、原创 2021-06-03 11:34:17 · 6336 阅读 · 0 评论 -
某大型企业在全国各城市共有40个左右的分支机构
某大型企业在全国各城市共有40个左右的分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。 每个机构的数据库服务器从PC Server(最小512MB内存)到RISC小型机(最大4GB内存)配置不一,操作系统也不一样,数据库产品类型也不统一。 每个机构平均每天产生约4MB的数据,数据表中包括TEXT字段;每季度一次性产生约100MB的统计和报表数据。为了加强管理,实现对下属机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行原创 2021-03-09 21:37:30 · 288 阅读 · 0 评论 -
数据库设计的阶段任务
数据库设计包括三个阶段:1)概念设计2)逻辑设计3)物理设计这三个阶段是什么意思?阶段任务是什么?1、概念设计也称为概念结构设计,任务是在需求分析阶段产生的需求规格说明书的基础上,将需求抽象为一个不依赖于任何DBMS的数据模型,即概念模型,表现形式为E-R模型。就是画E-R图吧。2、逻辑设计也称为逻辑结构设计,主要任务是将概念模型为某个特定DBMS上的逻辑模型。具体来说,就是设计库表。3、物理设计物理结构设计。为逻辑模型选取一个最适合应用环境的物理结构。就是创建物理数据库,建好相应的数据原创 2021-01-01 23:33:26 · 4465 阅读 · 0 评论 -
数据库范式
读书的时候,上数据库课,开头就讲范式。一直搞不懂这个范式,也不清楚是做什么的。范式属于关系数据库里面规范化理论的范畴。从低到高,依次为 1NF(第一范式)、2NF、3NF、BCNF(Boyce Codd Normal Form,巴斯范式/鲍依斯-科得范式,由Boyce和Codd提出,比3NF又进了一步,通常认为是修正的第三范式)。范式越低,越容易出现数据冗余、插入、删除异常等问题。但范式越高,关系模式(即关系型数据库中的表)的粒度就越细,要获取完整数据需要连接的表就越多,有时候为了提高性能,又需要增加冗余原创 2020-12-31 22:41:13 · 1189 阅读 · 0 评论 -
数据库视图
视图是逻辑上的表,是虚拟表。行和列数据均来自于查询所引用的表,而视图并不存储这些数据,只在视图被引用时动态获取并返回。视图的优点:1、简化操作,隐藏了表之间复杂的连接操作,不必每次都写复杂的查询语句。2、定制数据,视图机制使得用户可以用不同方式查询同一数据。3、可为数据库中的表重构提供逻辑独立性。比如对表进行水平或垂直分割,改变表结构,此时可以按照原表结构创建视图,使得表结构改变对应用程序透明,减少对应用程序的冲击4、安全性。视图可以作为一种安全机制,只返回用户有权看到的数据。物化视图:物化视原创 2020-12-27 22:41:29 · 400 阅读 · 0 评论 -
oracle 字段别名
像 type,level这些字眼都是oracle的保留字,在数据表设计的时候,应该避免将字段采用这样的保留字来命名,否则可能会产生一些异常,带来不便。如果非要用来命名,该咋办呢?,可以用双引号将它引起来,比如create or replace view work.v_alert asselect 0 as "type",--<--看这里----------to_char(id) as sid,to_date(time,'yyyy-MM-dd hh24:mi:ss') as time,re原创 2020-12-12 11:23:52 · 4207 阅读 · 0 评论 -
遗留系统的处理及其数据迁移准备工作
一、对待遗留系统的处理要分情况:1、低技术低业务价值淘汰,另起炉灶,简单粗暴。2、低技术高业务价值继承。所谓的继承,类似于面向对象中的继承,即新系统要完全兼容旧系统的业务功能。3、高技术低业务价值集成。因为技术含量高,修改未必能改得更好,而低价值则表明没必要更改,所以结果就是不改,集成了事。4、高技术高业务价值改造。因为业务价值高,值得一改;高技术,但也许数据模型跟新系统不合,功能...原创 2020-02-09 19:07:37 · 1755 阅读 · 0 评论 -
关系型数据库与NoSql数据库的比较
一、关系型数据库与NoSql数据库的比较1、并发支持关系型数据库:通过事务和锁来支持并发,高并发情况下,执行效率较低。NoSql:打破了传统关系型数据库范式的约束和事务一致性,因此并发性能高。2、存储与查询关系型数据库:利用关系表方式存储数据,通过SQL查询NoSql:分布式数据库,支持海量数据,多为键值方式存储数据,还有表格/列、文档、图像、对象和多值等存储方式;查询方式也多种多样,...原创 2020-02-08 18:32:11 · 8231 阅读 · 0 评论