跳到主要内容

创建 MariaDB 数据源

NineData 支持将不同类型、不同环境的数据源添加到控制台中进行统一管理,您可以对已经添加后的数据源使用数据库 DevOps、备份与恢复、数据复制、数据库对比等功能。本文介绍如何将 MariaDB 数据源添加到 NineData。

前提条件

  • 已将 NineData 的服务器 IP 地址添加到数据源白名单。服务器 IP 地址的获取方式请参见下图。

    server_ip_address

  • 具备空闲的数据源额度,否则无法录入数据源。您可以在 NineData 控制台页面右上方快速查看剩余配额。check_quota

操作步骤

  1. 登录 NineData 控制台

  2. 在左侧导航栏,单击数据源管理>数据源

  3. 单击**数据源**页签,并单击页面上的**创建数据源**,在弹出的数据源类型弹窗中,选择自建数据库 > (需要添加的数据源类型),在**创建数据源**页面根据下表配置参数。
    提示

    如果您操作失误,可以单击创建数据源页面上方的arrow_down图标重新选择。

  1. 配置数据源的各项参数:

    参数
    说明
    数据源名称输入数据源的名称,为了方便后续查找和管理,请尽量使用有意义的名称。
    连接方式选择数据源的接入方式。支持通过公网地址网关SSH Tunnel 三种方式接入。
    • 公网地址:通过公网地址接入数据源。
    • 网关:NineData 提供的安全快捷的内网访问方式,需先将数据源所在主机接入,接入方式请参见添加网关
    • SSH Tunnel:通过 SSH 隧道接入数据源。
    连接方式选择公网地址的配置项连接地址:数据源的公网连接地址和端口。
    连接方式选择网关的配置项
    • 网关:选择数据源所在主机中安装的 NineData 网关。
    • 连接地址:可以写成 localhost(数据源在本机)或者数据源所在主机的内网 IP。
    连接方式选择 SSH Tunnel 的配置项
    • SSH 主机:输入目标数据源所在服务器的公网 IP 或者域名,以及对应的端口号(SSH 服务的默认端口号为 22)。
    • SSH 认证方式:选择 SSH 的认证方式。
      • 密码认证:通过 SSH 用户名(即服务器的登录名)和密码(即服务器的登录密码)进行连接。
        • SSH 用户名:输入目标数据源所在服务器的登录用户名。
        • 密码:输入目标数据源所在服务器的登录密码。
      • 密钥认证(推荐):通过 SSH 用户名密钥文件进行连接。
        • SSH 用户名:输入目标数据源所在服务器的登录用户名。
        • 密钥文件:单击上传文件上传私钥文件,即无后缀名的密钥文件。如果您还未创建,请参见生成 SSH Tunnel 密钥文件
        • 口令:输入生成密钥文件时设置的密码。如果您在密钥生成过程中未设置密码,此处请留空。
    • 说明:SSH 配置完成后,您需要单击右侧的连接测试,可能出现如下两种结果:
      • 提示连接成功:表示 SSH Tunnel 已打通。
      • 提示错误信息:表示连接失败,您需要根据提错误示排查故障原因并重试。
    • 连接地址:可以写成 localhost(数据源在本机)或者数据源所在主机的内网 IP。
    架构类型选择 MariaDB 的部署架构。
    • 单机:单机部署的 MariaDB 数据库,仅需填写一个链接地址和端口。
    • 容灾:容灾架构部署的 MariaDB 数据库,通常包含一个主节点和一个或多个容灾节点。您可以在连接地址下方单击添加按钮,输入多个节点地址和端口。
    • 读写分离:读写分离架构部署的 MariaDB 数据库,通常包含一个写节点(主节点)和多个读节点(从节点)。您可以在连接地址下方单击添加按钮,输入多个节点地址和端口。
    数据库账号数据源的用户名。
    数据库密码数据源的密码。
    接入地域选择离您数据源所在地最近的地域,可有效降低网络延迟。
    环境根据该数据源的实际业务用途进行选择,作为数据源的环境标识。默认提供生产开发环境,同时支持您创建自定义环境
    说明:在组织模式下,数据库环境还可应用于权限策略管理,例如,默认情况下的生产环境管理员角色仅支持访问生产环境下的数据源,无法访问其他环境的数据源。更多信息,请参见管理角色
    加密传输是否使用 SSL 加密方式访问数据源(默认开)。数据源如果强制 SSL 加密连接,则必须开启本开关,否则连接失败。
    单击右侧的开关可开启或关闭加密传输。单击加密传输左侧的>可以展开详细配置。
    • 加密选项:支持如下两种方式。
      • 尽量使用加密传输:自动检测服务端的 SSL 状态,如果服务端开启了 SSL,则优先通过 SSL 连接,如果服务端未开启 SSL,则使用非 SSL 的方式连接。
      • 强制使用加密传输:无论如何都使用 SSL 方式连接数据源,如果服务端不支持该方式或由于其他原因无法建立 SSL 连接,则会连接失败。
    • 指定加密密钥(SSL Cipher):指定 SSL-Cipher 加密算法。
    • 验证服务端证书(SSL CA):如果 MariaDB 服务器使用的是自签名 CA 颁发的证书,则需要在此上传该 CA 的根证书。
    • 验证服务端身份 (SSL Identify):勾选用于验证服务器的名称和 IP 地址等,以确保连接到的是真正的 MariaDB 服务器,避免中间人攻击(Man-in-the-MiddleAttack)。
    • 验证客户端:如果 MariaDB 服务器需要客户端提供证书,则需要在此上传客户端的证书和密钥,MariaDB 服务器将验证您上传的信息,以确保连接的安全性。
    说明:通常情况下,如果 MariaDB 服务端支持使用 SSL 加密连接,您仅需要选中强制使用加密传输即可,无需配置其他选项,系统会自动为您生成密钥进行连接。
  2. 全部配置完成后,单击创建数据源右侧的连接测试可以测试该数据源是否可以正常访问,提示连接成功即可单击创建数据源,完成数据源的添加。否则请重新检查连接设置,直到连接测试成功为止。

附录:将 NineData 的 IP 地址加入 MariaDB 数据库白名单(自建数据库环境)

添加位于公网/自建/他云的数据源时,需要将 NineData 服务的 IP 地址添加到数据库白名单,以允许 NineData 提供服务。

本章节以 MariaDB 5.7 版本为例,介绍如何添加 IP 白名单。

  • 新建账号:使用 Root 账户登录数据库,通过如下命令创建一个供 NineData 访问的账号,并授权该账号对应权限。

    CREATE USER '<账号名称>'@'<NineData IP 地址>' IDENTIFIED BY '<访问密码>';
    GRANT <权限名称> ON <数据库名称>.* TO '<账号名称>'@'<NineData IP 地址>';
    FLUSH PRIVILEGES;
  • 已有账号:使用 Root 账号登录数据库,通过如下命令为已有账号添加 NineData IP 白名单并授予对应权限。

    GRANT <权限名称> ON <数据库名称>.* TO '<账号名称>'@'<NineData IP 地址>' IDENTIFIED BY '<访问密码>';
    FLUSH PRIVILEGES;
提示

添加 MariaDB 数据源时,需要使用上述添加了 NineData IP 地址的账号和对应密码。