SpringCloud(七)MySQL跨实例访问

有时候,利用数据库本身的一些特性,可以解决相当多的问题,Java里常常说分布式、集群,实际上针对这些问题,数据库本身也有一套完整的解决方案,并不一定非要通过代码解决。

在我们开发过程中,难免会产生这样一个需求:需要同时连接A、B、C三个数据库。

这时候,可是视情况,看看是否使用FEDERATED存储引擎。

数据表映射,如同Oracle中的DBlink一般,使用FEDERATED进行跨实例来进行数据查询。效果如同Gateway,通过一个数据库连接,即可获取其它数据库的数据。

输入show engines;可以查看MySQL是否支持FEDERATED,默认是不支持的

show engines;

在windows下只需要在mysql的配置文件 my.ini 最末尾加上一句 federated ,然后重启mysql即可。
如果找不到my.ini,文件夹地址输入框输入%ProgramData%,找到MySQL文件夹。

建表的语句

CREATE TABLE xxx(...) ENGINE=FEDERATED CONNECTION=‘mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]‘

例:

CREATE TABLE `t_work_task` (
  `id` varchar(36) NOT NULL,
  `work_date_end` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT=‘作业任务‘ CONNECTION=‘mysql://rgyx_hlj:[email protected]/rgyx_hlj/t_work_task‘;

注意:本质上,只是通过一个数据库,连接上了另一个,只是方便编程,并没有减轻数据存储的压力

原文地址:https://www.cnblogs.com/chenss15060100790/p/12638292.html

时间: 2024-08-04 14:15:23

SpringCloud(七)MySQL跨实例访问的相关文章

使用FREDATED引擎实现跨实例访问

跨数据库服务器,跨实例访问是比较常见的一种访问方式,在Oracle中可以通过DB LINK的方式来实现.对于MySQL而言,有一个FEDERATED存储引擎与之相对应.同样也是通过创建一个链接方式的形式来访问远程服务器上的数据.本文简要描述了FEDERATED存储引擎,以及演示了基于FEDERATED存储引擎跨实例访问的示例. 1.FEDERATED存储引擎的描述  FEDERATED存储引擎允许在不使用复制或集群技术的情况下实现远程访问数据库  创建基于FEDERATED存储引擎表的时候,服务

[linux] mysql跨服务器访问, iptables设置

跨服务器mysql访问, iptables配置 1> 设置被访问机器的mysql权限 grant all privileges on *.* to [email protected]"[ip]" identified by "[pass]" with grant option;  // 授权, 可以根据情况设置不同权限, 本sql赋予远程机器所有mysql操作权限 flush privileges; // 刷新权限 use mysql;   // mysql数

8天入门docker系列 —— 第七天 让你的container实现跨主机访问

当你有若干个容器之后,你可能就希望实现容器的跨机部署访问了,比如aspnetcore在一台host上,mysql在另外一个host上,如果要实现这样的功能,需要你 借助docker自带的overlay网络模型了. 一: overlay网络模型 要想快速的搭建overlay网络,你可以通过docker默认的swarm集群给你默认生成的名ingress的overlay网络,这样会默认开放一些端口供底层机器内的访问,比如: UDP 4789 是用于overlay network 流量传输的,作为开发角

第二百七十四节,同源策略和跨域访问

同源策略和跨域访问  什么是同源策略 尽管浏览器的安全措施多种多样,但是要想黑掉一个Web应用,只要在浏览器的多种安全措施中找到某种措施的一个漏洞或者绕过一种安全措施的方法即可.浏览器的各种保安措施之间都试图保持相互独立,但是攻击者只要能在出错的地方注入少许JavaScript,所有安全控制几乎全部瓦解--最后还起作用的就是最弱的安全防线:同源策略.同源策略管辖着所有保安措施,然而,由于浏览器及其插件,诸如Acrobat Reader.Flash 和Outlook Express漏洞频出,致使同

iframe跨域访问

js跨域是个讨论很多的话题.iframe跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容:如果支持contentDocument也可以直接document.getElementById("myframe&

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm

Ajax跨域访问wcf服务中所遇到的问题总结。

工具说明:vs2012,sql server 2008R2 1.首先,通过vs2012建立一个wcf服务项目,建立好之后.再新开一个vs2012 建立web项目,通过jQuery的ajax方法访问服务. 问题:由于web项目和wcf服务,不在同一个端口之中,所以涉及到“跨域”的问题.跨域访问的时候,需要对服务的接口和方法做一定的限定.具体参考:http://www.cnblogs.com/yangbingqi/p/2096197.html 2.解决了跨域问题,我们需要把服务部署到IIS.vs20

MySQL多实例安装

    MySQL数据库(一) 作者:Jack 归档:学习笔记 2017/6/19 目  录 MySQl数据库(一)... 3 第1章概述:... 4 1.1 MySQL介绍:... 4 1.2 MariaDB数据库的诞生背景介绍... 4 1.3 MySQL多实例介绍... 5 1.3.1 什么是MySQL多实例... 5 1.3.2 MySQL多实例的作用与问题... 6 1.4 MySQL多实例的生产应用场景... 7 第2章关系型数据库与非关系型数据库... 8 2.1 关系型数据库..

MySQL 5.6对已有Mysql单实例的机器,再添加mysql数据库,实现单机多实例

一.需求: 对已有Mysql单实例的机器,再添加两个mysql数据库,实现单机多实例. 一个绑定在端口3306,另外两个绑定在端口3307,3308: 数据分别存放在/data/mysqldata./data/mysqldata2./data/mysqldata3 三个实例均采用InnoDB作为默认的存储引擎,字符编码采用UTF-8: 三个实例均采用相同的性能优化配置参数: MySQL的源码安装请看我的另一篇博客http://yylinux.blog.51cto.com/8831641/1677