mycat同时 *** 作多个mysql数据库

mycat同时 *** 作多个mysql数据库,第1张

用户制作数据库的分库分表,Mycat软件压缩包,加压后即可使用。

数据安装、mycat部署安装、数据库之读写分离主从复制、数据库之双主多重、数据库分库分表。

数据库集群的方式有多种,前面的介绍的一种是主从复制,读写分离,这一种方式在一般的系统已经够用了,但是对系统可用性要求很高的系统,这样是会有缺陷的,原因是:主只有一个,万一主挂了呢?那系统的所有读 *** 作都将被中断,系统不能提供写服务,当重挂了,系统不同提高读服务,所以无论那一台数据库挂了,系统都会受到影响。对于高可用的系统,那是不行的,比如:电商系统等等。

ldb文件是mdb文件打开时产生的一个临时文件。

ldb文件在多用户环境下是非常重要的。该文件被 MS Jet DB Engine V40 用来确定被共享的数据库中哪条记录被锁定以及被谁锁定,关闭网页后不会消失那说明你的ASP写的不够严紧,要注意关闭连接数据库对象:

connClose

set conn=nothing

为什么需要多数据库?

默认情况下,Spring Boot使用的是单数据库配置(通过springdatasource配置具体数据库连接信息)。

对于绝大多数Spring Boot应用,这是符合其使用场景的,因为Spring Boot提倡的是微服务理念,每个应用对应一个单独的业务领域。但在某些特殊情况下,一个应用对应多个数据库又是无法避免的,例如实施数据库分库后原本单个数据库变为多个数据库。本文就结合实际代码介绍如何在单个Boot应用中配置多数据库,以及与之相关的Druid,jOOQ,Flyway等数据服务框架的配置改造。

配置示例

DB1,DB2: 两个示例数据库

ServiceA, ServiceB: 分别使用DB1和DB2的服务类

连接池Druid

Druid是阿里巴巴开源的数据库连接池,提供了强大的监控支持,号称Java语言中最好的连接池。

创建两个配置类分别注册对应DB1和DB2的DataSource Bean和TransactionManager Bean。以DB1为例:

Tip: 可以把其中一个配置类中注册的DataSource Bean和DataSourceTransactionManager Bean加上@Primary注解,作为默认装配实例。

// DB1

@Configuration

public class Db1Config {

@Bean(initMethod = "init", destroyMethod = "close")

@ConfigurationProperties(prefix = "dbdb1")

public DataSource dataSource1() {

return new DruidDataSource();

}

@Bean

public DataSourceTransactionManager transactionManager1() {

DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();

transactionManagersetDataSource(dataSource1());

return transactionManager;

}

}

applicationconf中的配置:

# DB1

dbdb1url=jdbc:mysql://127001:3306/db1useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true

dbdb1username=root

dbdb1password=

ORM框架jOOQ

jOOQ是一个开源ORM框架,最大特点是提供类型安全的流式API,支持代码生成。

参照Boot自带的JooqAutoConfiguration,不难写出如下配置类:

@Configuration

public class JooqConfig {

// DB1

@Bean

public DataSourceConnectionProvider dataSourceConnectionProvider1(

@Qualifier("dataSource1") DataSource dataSource1) {

return new DataSourceConnectionProvider(

new TransactionAwareDataSourceProxy(dataSource1));

}

@Bean

public SpringTransactionProvider transactionProvider1(

@Qualifier("transactionManager1") DataSourceTransactionManager txManager1) {

return new SpringTransactionProvider(txManager1);

}

// DB2

//

@Configuration

public static class DslContextConfig {

@Autowired(required = false)

private RecordMapperProvider recordMapperProvider;

@Autowired(required = false)

private Settings settings;

@Autowired(required = false)

private RecordListenerProvider[] recordListenerProviders;

@Autowired

private ExecuteListenerProvider[] executeListenerProviders;

@Autowired(required = false)

private VisitListenerProvider[] visitListenerProviders;

// DSLContext for DB1

@Bean

public DefaultDSLContext dslContext1(@Qualifier("dataSourceConnectionProvider1") DataSourceConnectionProvider connectionProvider1,

@Qualifier("transactionProvider1") SpringTransactionProvider transactionProvider1) {

return new DefaultDSLContext(configuration(connectionProvider1, transactionProvider1));

}

// DSLContext for DB2

//

private DefaultConfiguration configuration(ConnectionProvider connectionProvider, TransactionProvider transactionProvider) {

DefaultConfiguration configuration = new DefaultConfiguration();

configurationsetSQLDialect(SQLDialectMYSQL);

configurationset(connectionProvider);

configurationset(transactionProvider);

if (thisrecordMapperProvider != null) {

configurationset(thisrecordMapperProvider);

}

if (thissettings != null) {

configurationset(thissettings);

}

configurationset(thisrecordListenerProviders);

configurationset(thisexecuteListenerProviders);

configurationset(thisvisitListenerProviders);

return configuration;

}

}

}

服务类

配置好DataSource,TransacationManager和DSLContext之后,服务类的配置就比较简单了,直接引用即可。注意由于存在多套Beans,需要通过@Qualifier注解指定装配实例。

@Transactional("TransactionManager1")//每个事务指定 tx

public class ServiceA {

@Autowired

@Qualifier("dslContext1")

protected DSLContext dsl;

}

数据库迁移框架Flyway

Flyway是一个轻量级的开源数据库迁移框架,使用非常广泛。

参照Boot自带的FlywayAutoConfiguration,同样可以写出如下配置类:

@Configuration

public class FlywayConfig {

@Bean(initMethod = "migrate")

@ConfigurationProperties(prefix = "fwdb1")

public Flyway flyway(@Qualifier("dataSource1") DataSource dataSource1) {

Flyway clinic = new Flyway();

clinicsetDataSource(dataSource1);

return clinic;

}

// DB2

//

/

@see FlywayAutoConfiguration

/

@Bean

@ConfigurationPropertiesBinding

public StringOrNumberToMigrationVersionConverter stringOrNumberMigrationVersionConverter() {

return new StringOrNumberToMigrationVersionConverter();

}

/

Convert a String or Number to a {@link MigrationVersion}

@see FlywayAutoConfiguration

/

private static class StringOrNumberToMigrationVersionConverter

implements GenericConverter {

private static final Set<ConvertiblePair> CONVERTIBLE_TYPES;

static {

Set<ConvertiblePair> types = new HashSet<ConvertiblePair>(2);

typesadd(new ConvertiblePair(Stringclass, MigrationVersionclass));

typesadd(new ConvertiblePair(Numberclass, MigrationVersionclass));

CONVERTIBLE_TYPES = CollectionsunmodifiableSet(types);

}

@Override

public Set<ConvertiblePair> getConvertibleTypes() {

return CONVERTIBLE_TYPES;

}

@Override

public Object convert(Object source, TypeDescriptor sourceType,

TypeDescriptor targetType) {

String value = ObjectUtilsnullSafeToString(source);

return MigrationVersionfromVersion(value);

}

}

}

applicationconf中的配置:

# DB1

fwdb1enabled=true

一般情况下,开发数据库时要求程序员在建表时,预留几列,是为日后扩展时使用的,否则,一旦日后想增加字段,如果数据库比较复杂,表关联比较多,触发器、过程使用整表 *** 作比较多,就会带来很多问题,改起来比较麻烦。所以,一般公司会在编程规范里要求多建几列备用。

这纯碎是根据需要和个人爱好,

你想怎么做都可以,

不在于用得多不多,

关键在于做不做得出来,

做出来以后效率高不高

维护难度大不大

何需想那么多

问题一:常用的数据库软件有哪些? SQL Server 是 Microsoft(微软) 的数据产品,它的易用性强! Oracle 是 Oracle(甲骨文)公司的数据产品!号称世界上最好的数据系统! DB2 是IBM公司的产品,在全球500强的企业中有80%是用DB2作为数据库平台的

问题二:常用数据库有哪些?他们有什么区别 开源的Mysql顶;PostgreSQL即开放源码的

商业的Oracle/SQL Server/DB2即收费的

问题三:什么是常用的三个数据库? 目前,数据库管理系统关系型数据库为主导产品的商品化,技术相对成熟。虽然面向对象的数据库管理系统的先进技术,数据库易于开发,维护,但尚未成熟的产品。国际和国内领先的关系数据库管理系统,甲骨文,Sybase,Informix和INGRES。这些产品支持多种平台,如UNIX,VMS,Windows上,而不是同一级别的支持。和成熟的IBM的DB2关系数据库。但是,DB2是内嵌于IBM的AS/400系列机,只支持OS/400 *** 作系统。

?1MySQL

?MySQL是最受欢迎的开源SQL数据库管理系统,由MySQL AB公司,发布和支持。 MySQL AB是基于MySQL开发一个商业公司,它是利用与开源值相结合的一个成功的商业模式?和方法论的第二代开源公司。 MySQL是MySQL AB的注册商标。

?MySQL是一个快速,多线程,多用户和健壮的SQL数据库服务器。 MySQL服务器支持关键任务,重负载生产系统的使用,它可以嵌入到一个大配置(大规模部署)软件。

?的MySQL与其他数据库管理系统相比,具有以下优点:

?(1)MySQL是一个关系数据库管理系统。

?(2)MySQL是开源。

?(3)MySQL服务器是一个快速,可靠和易于使用的数据库服务器。

?(4)在MySQL服务器的客户机/服务器或嵌入式系统。

?(5)可以使用MySQL软件。

2SQL Server的吗?

?SQL Server是由微软开发的数据库管理系统,是目前最流行的数据库,用于存储在网络上的数据,它已被广泛用于电子商务,银行,保险,电力和其他数据库相关的产业。

?SQL Server 2005的最新版本,它只能在Windows作业系统的稳定运行是非常重要的数据库。并行实施和共存模型并不成熟,这是很难对付越来越多的用户和数据量是有限的,可扩展性。

?SQL Server提供了网络和电子商务功能,如丰富的XML和Internet标准的支持,轻松且安全地通过Web访问的数据的范围很广,有一个强大,灵活和网络,基于安全和应用管理。此外,由于它的易用性和友好的用户界面,通过广大用户的好评,。

?3Oracle

?提出的数据库,该公司首先想到的,通常是甲骨文(Oracle)。该公司成立于1977年,原是一个专门开发的数据库公司。甲骨文一直在数据库领域的领导者。 1984年,第一个关系数据库转移到一台台式电脑。然后,Oracle5率先推出的分布式数据库,客户机/服务器体系结构的新概念。甲骨文公司的第一行锁定模式和对称多处理计算机的支持最新的Oracle对象技术,成为关系 - 对象数据库系统。目前,甲骨文的产品涵盖了几十个型号的大,中,小型机,Oracle数据库已成为世界上使用最广泛的关系数据。

Oracle数据库产品具有以下优良特性。

?(一)兼容性

?Oracle产品使用标准的SQL,和美国国家标准技术局(NIST)测试后。兼容IBM的SQL / DS,DB2中,安格尔的IDMS / R。

?(2)可移植性

??甲骨文的产品,可以广泛的硬件和 *** 作系统平台上运行。可以安装在超过70种大不同,VMS系统的DOS,UNIX上,Windows和其他 *** 作系统,小型机;

?(3)协会

甲骨文与各种通信网络连接,支持各种协议(TCP / IP协议说,DECnet,LU62工作等)。?

?(4)高生产率

?Oracle提供了多种开发>>

问题四:现在一般常用的数据库有哪几种啊 ? MSSQL和MySQL两种 sqlserver即是常说的MSSQL, 是微软公司的产品,而MySQL不是,MySQL是一家叫MySQL AB的公司的开源产品,它是免费的,而且可以跨平台使用 MSSQL比较昂贵,一般只在Windows下使用

问题五:常用大型数据库有哪些 FOXBASE

MYSQL

这俩可算不上大型数据库管理系统

PB 是数据库应用程序开发用的ide,根本就不是数据库管理系统

Foxbase是dos时代的产品了,进入windows时代改叫foxpro,属于桌面单机级别的小型数据库系统,mysql是个中轻量级的,但是开源,大量使用于小型网站,真正重量级的是Oracle和DB2,银行之类的关键行业用的多是这两个,微软的MS SQLServer相对DB2和Oracle规模小一些,多见于中小型企业单位使用,Sybase可以说是日薄西山,不行了

问题六:常见的数据库文件格式有哪些? dbf dbase文件,一种由ashton-tate创建的格式,可以被act!、lipper、foxpro、arago、wordtech、xbase和类似数据库或与数据库有关产品识别,可用数据文件(能被excel 97打开),oracle 81x表格空间文件;dba是access文件;nsf lotus notes数据库;mdf和ldf是sql server文件;2另外你还有不少是软件开发者自己定义的数据库文件,大多采用dat,或者把dba转换为dat,由程序文件名转换处理。3odb++是一种可扩展的ascii格式,它可在单个数据库中保存pcb制造和装配所必需的全部工程数据。是能把多种数据格式数据库连接起来的桥梁,是一种双向格式,允许数据上行和下传。

问题七:常见的数据库应用系统有哪些? 现在极大多的企业级软件都是基于数据库的。

比如:

ERP: 企业资源管理计划

CRM: 客户关系管理

OA: 办公自动化。

12306铁道部的网上订票系统。

。。。

问题八:常用的数据库软件有哪些 1)MYSQL:

MySQL是由MySQL AB开发、发布和支持,是一个快速的、多线程、多用户和健壮的SQL数据库服务器,是目前最受欢迎的开源SQL数据库管理系统。MySQL

AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL

AB的注册商标。MySQLMySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-

deployed)的软件中去。

2)ACCESS:

ACCESS是系统自带的一种关系式数据库,与空间共存不需要单独开设。关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。Access数据库以文件形式保存,文件的扩展名是MDB,作为开发网站常用的数据库,Access数据库一般搭配ASP程序使用。当数据库过大的时候可以转换为MSSQL数据库使用,二者可以进行转换。

3)MSSQL:

SQL Server也是微软公司出品的,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

MSSQL特点:数据承载量比较大,存储数据速度快,稳定性强,适用于中小型企业开发网站和办公系统常用的数据库。

4)Oracle:

Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood

shore。Oracle的软件可运行在PC、工作站、小型机、主机、大规模的并行计算机,以及PDA等各种计算设备上,随着越来越多的企业将自己转向电子商务,Oracle的具有强大的电子商务能力的解决方案,为企业提供高效率的扩展市场的手段,并提高工作效率和吸引更多的客户。Oracle提供的完整的电子商务产品和服务包括:用于建立和交付基于Web的Internet平台;

综合、全面的具有Internet能力的商业应用;强大的专业服务,帮助用户实施电子商务战略,以及设计、定制和实施各种电子商务解决方案。

问题九:常见的数据库管理系统有哪些?它们各自有什么特点? 1 IBM 的DB2作为关系数据库领域的开拓者和领航人,IBM在1977年完成了System R系统的原型,1980年开始提供集成的数据库服务器―― System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 61则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。2 OracleOracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的 *** 作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。3 InformixInformix在1980年成立,目的是为Unix等开放 *** 作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。4 SybaseSybase公司成立于1984年,公司名称“Sybase”取自“system”和“database” 相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer10。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。5 SQL Server1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 10 版。6 PostgreSQLPostgreSQL 是一种特性非常齐全的自由软件的对象――关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统7mySQLmySQL是一个小型关系型>>

问题十:常用的数据库安全技术有哪些 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括 *** 作系统、网络系统的安全性是紧密联系、相互支持的。

实现数据库安全性控制的常用方法和技术有:

(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己咱勺名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(I)AC),Bl级中的强制存取控制(M.AC)。

(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

(4)审计:建立审计日志,把用户对数据库的所有 *** 作自动记录下来放人审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

以上就是关于mycat同时 *** 作多个mysql数据库全部的内容,包括:mycat同时 *** 作多个mysql数据库、acs+access数据库文件夹里多出了一个.ldb文件.、如何在单个Boot应用中配置多数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9487365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存