MySQL开启Federated引擎以及使用示例

简述

Federated引擎可以让我们访问远程MySQL数据库中的数据。查询本地Federated表时,自动从远程数据库表中提取数据。本地只存储表的定义,表的数据还是存储在远程数据库中。

MySQL Federated是MySQL数据库中的一种特殊的存储引擎,它允许用户在不同的MySQL服务器之间共享数据。这种存储引擎的原理是将数据存储在远程MySQL服务器上,然后通过本地MySQL服务器来访问这些数据。
这种方法可以使用户在不同的MySQL服务器之间共享数据,而不需要复制数据或者进行数据同步。

MySQL Federated存储引擎的
优点:
(1)可以在不同的MySQL服务器之间共享数据,而不需要复制或进行数据同步。减少数据冗余,提高数据的一致性和可靠性。
(2)可以提高系统的可扩展性和可维护性,无需复杂的数据同步和管理。

缺点:
(1)远程MySQL服务器出现故障或网络故障,那本地MySQL服务器将无法访问远程MySQL服务器上的数据。
(2)MySQL Federated存储引擎的性能可能受到网络延迟和带宽限制的影响。

原理和Oracle中的dblink类似。

默认情况下,MySQL并未启用Federated引擎,如果要启用,必须使用federated配置启动。

sqlserver跨数据库查询mysql数据

简介

我们知道同种类型数据库,本地数据库要想和远程数据库建立连接:

  • oracle使用dblink
  • sqlserver使用链接服务器
  • mysql使用Federated引擎

大型项目尤其是高并发项目中,不推荐直接在本地数据库与远程数据库之间建立连接。但小型项目中,某些场景下使用数据库之间的连接,反而能让我们更方便的进行系统集成与数据查询。所以凡事无绝对,不同的应用场景考虑不同的技术。

本文我们主要讲述的是不同类型数据库跨库查询数据,如何在sqlserver中直接查询mysql数据。

不同类型数据库之间不能直接建立连接,在这里我们使用mysql-connector-odbc通过ODBC数据源来实现sqlserver跨数据库数据查询mysql数据。

环境说明:
sqlserver版本: Microsoft SQL Server 2008 R2 (RTM)
mysql版本: 5.7.31
mysql-connector-odbc-8.0.28-winx64.msi

Nginx替换https证书步骤

简介

Nginx替换https证书步骤:
1、上传并替换证书文件;
2、nginx -s reload加载新证书;
3、浏览器查看确认证书是否生效;

详细说明

1、上传并替换证书文件

从nginx.conf或其子配置中查看ssl证书配置,例如:

ssl_certificate      /opt/certs/xxx.com_bundle.crt;
ssl_certificate_key  /opt/certs/xxx.com.key;

Vue项目访问路径加统一前缀

如果多个项目要发布至同一个域名下,或Vue项目要加项目名访问时,则可以通过域名后加统一前缀来区分及路由至指定的服务,例如同一域名下:
站点A:https://www.abc.com
站点B:https://www.abc.com/bbb
站点B-接口API:https://www.abc.com/bbb/api

Vue项目访问路径加统一前缀步骤:
(1)给静态资源加前缀
vue.config.js文件 新增属性:publicPath: "/business-admin/"

例如下所示(生产环境加/admin/前缀,否则不加):

module.exports = {
  // 如果你的应用被部署在 https://www.xxx.com/admin/,则设置publicPath为 /admin/
  publicPath: process.env.NODE_ENV === "production" ? "/admin/" : "/",
  // build生成文件的目录名称(默认dist)
  outputDir: 'dist',
  // 用于放置生成的静态资源 (js、css、img、fonts) 
  assetsDir: 'static',
  ...
}

官方参考文档:
https://cli.vuejs.org/zh/config/#publicpath