反馈已提交

网络繁忙

配置MySQL5外接数据库

  • 文档创建者:Carly
  • 编辑次数:10次
  • 最近更新:Carly 于 2022-03-03
  • 1. 概述

    1.1 版本

    BI 服务器版本
    JAR 包版本
    功能变更
    5.1--
    5.1
    2019-05-20新增支持迁移数据库数据
    5.1.15-迁移外接数据库,且不勾选「迁移数据至要启用的数据库」时,自动检测新老数据库对应工程版本是否一致
    5.1.21-1)首次配置外接数据库时,支持自行选择是否「迁移数据至要启用的数据库」

    2)迁移外接数据库的过程提示细化,方便用户了解迁移进度

    注:JAR 包版本低于 2019-05-20 时,用户配置外接数据库时只能迁移数据,不可直接启用新数据库。

    1.2 功能简介

    BI 系统配置外接数据库后,遇到集群环境或数据量较大情况时,可保证系统的稳定性。

    用户可在「初始化时」配置外接数据库或在「平台中」配置 MySQL 5 版本的外接数据库。

    注:若配置了外接数据库,请勿轻易修改外接数据库的用户名和密码,否则会导致工程启动失败。

           如需修改,请参照:修改外接数据库账号密码 。

    2. 数据库配置

    2.1 数据库版本

    外接数据库支持的类型及版本如下表所示:

    数据库类型JAR 包版本支持数据库版本
    MySQL5不限

    5.1.73

    5.5.31、5.5.46、5.5.56

    5.6.22、5.6.31

    5.7.16

    RDS MySQL2019-05-20无限制

    2.2 硬件配置

    配置类型
    最低配置推荐配置
    内存1GB2GB
    CPU4核8核
    网速
    50Mbps100Mbps
    占用空间1GB2GB
    磁盘读写速度50MB/s100MB/s

    注1:占用空间需要结合使用度进行调整,可以根据webapps/webroot/WEB-INF/embed/finedb文件夹大小配置,并根据实际大小预估未来使用大小,增大1~2倍。

    注2:推荐内存为预留给工程配置库的内存。

    注3:外接数据库尽量和 BI 工程在同一网段,避免网络波动等问题。

    2.3 新建数据库

    新建一个数据库,用于存储平台相关数据。

    标准建库语句:CREATE DATABASE `finedb` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

    注:不同 FineBI 工程,不可共用同一个外接数据库,否则数据可能会出现错乱。

    推荐设置数据库默认字符集为 utf8 ,默认排序规则为 utf8_bin。如下图所示:

    image.png

    数据库名:

    只允许包含数字、字母、下划线和「.」

    字符集:

    1)平台外接 MySQL 数据库时,需要设置字符集排序规则(大小写敏感)。

    2)推荐使用 utf8 – UTF-8 Unicode 编码

    3)不支持 utf8mb4 编码

    排序规则:

    MySQL 中存在多种格式的 utf8 编码的排序规则,其中最常见的两种如下表所示:

    1)utf8_bin(推荐)

    定义:将字符串中的每一个字符用二进制数据存储,区分大小写

    示例:Alex 和 alex 被认为是两个不同的值

    1)utf8_general_ci

    定义:ci 为 case insensitive 的缩写,即大小写不敏感,为 utf8 默认编码

    示例:Alex 和 alex 被认为是相同的值

    3. 配置外接数据库

    3.1 外接数据库配置入口

    外接数据库的配置入口,有三种形式:

    1)超级管理员第一次登录数据决策系统时,即可为系统配置外接数据库。如下图所示:

    1611298441623069.png

    2)对于使用内置数据库的系统,管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>待配置」,可为系统第一次配置外接数据库。如下图所示:


    3)对于已启用外接数据库的系统,管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>已配置」,可为系统迁移至新的外接数据库。如下图所示:

    3.2 配置外接数据库

    进入到外接数据库配置界面后,选择数据库类型,输入实际数据库相应的信息即可。如下图所示:

    3.2.1 设置项

    各设置项说明如下表所示:

    设置项说明
    数据库类型选择 MySQL
    驱动

    FineBI 已内置 MySQL5 的驱动,无需修改,会自动配置

    数据库名称

    2.3 节新建的数据库名称

    禁止与其他工程共用数据库,建议新建数据库

    数据库名称只允许包含数字、字母、下划线和「.」

    用户名/主机/密码/端口根据本地数据库实际情况填写

    主机名称只允许包含数字、字母、下划线、「-」和「.」

    用户需要具备 create、delete、alter、update、select、insert、index 权限

    3.2.2 迁移数据至要启用的数据库

    用户可根据自身需求选择是否勾选「迁移数据至要启用的数据库」按钮。具体如下:

    注:5.1.21 之前的工程版本,在第一次配置外接数据库时,无「迁移数据至要启用的数据库」按钮。切换外接数据库时,会直接清空该外接数据库的数据,并将内置数据库的数据导入到新数据库中。

    1)勾选「迁移数据至要启用的数据库」,新外接数据库为空

    点击「启用新数据库」后,会将原 finedb 数据库的平台数据迁移到新外接数据库中。

    2)勾选「迁移数据至要启用的数据库」,新外接数据库中已存在平台数据

    点击「启用新数据库」后,跳出提示「该数据库已存在平台数据,导入数据前将情况原有平台数据,确认连接该数据库?」。

    点击「确定」将清空原有平台数据,将原 finedb 数据库的平台数据迁移到新外接数据库中。

    3)不勾选「迁移数据至要启用的数据库」,新外接数据库为空

    点击「启用新数据库」后,跳出提示「目标数据库为新数据库,将当前数据迁移至目标数据库后方能使用」。

    点击「确定」,将原 finedb 数据库的平台数据迁移到新外接数据库中。

    4)不勾选「迁移数据至要启用的数据库」,新外接数据库中已存在平台数据

    点击「启用新数据库」后,5.1.15 及之后版本的 BI 工程会自动检测目标数据库中数据对应的 JAR 包版本和当前工程的 JAR 包版本是否一致。

    • 若不一致,则跳出提示「无法启用!启用新数据库需要的工程版本:XXX。当前工程版本:XXX。请确保工程版本一致!」。无法进行外接数据库配置。

    • 若 JAR 包版本一致,且原 finedb 数据库为内置数据库,则直接启用新外接数据库。

    • 若 JAR 包版本一致,且原 finedb 数据库为外接数据库,迁移前将自动备份原数据库的配置信息,在webapps\webroot\WEB-INF\config目录下生成db.properties.bak文件,并直接启用新外接数据库。如下图所示:

    3.3 迁移成功

    等待一段时间,迁移成功后,根据迁移时的情况,可能会跳出不同的弹窗提示。

    注:请勿在迁移过程中刷新页面。

    1)新外接数据库,使用了原 finedb 数据库的数据。

    则提示「已成功启用目标数据库」。点击「确定」即可,迁移成功。如下图所示:

    2)新外接数据库,使用了该数据库中原有的数据,且原 finedb 数据库为内置数据库。

    则提示「已成功切换至目标数据库!新旧数据库若存在数据差异可能影响系统运行,建议重启工程以确保正常使用」。

    点击「确定」后,重启报表工程,方迁移成功。如下图所示:

    3)新外接数据库,使用了该数据库中原有的数据,且原 finedb 数据库为外接数据库。

    则跳出两个提示:

    • 已成功切换至目标数据库!新旧数据库若存在数据差异可能影响系统运行,建议重启工程以确保正常使用

    • 原数据库配置已备份至config文件夹下,如有需要可以使用备份文件还原数据库配置

    点击「确定」后,重启报表工程,方迁移成功。如下图所示:

    1611286418590120.png

    4. 注意事项

    如果一开始数据库排序规则没有设置 utf8_bin ,但已经迁移过去了,那么有两张表 fine_conf_entity、 fine_conf_classname 需要修改为 utf8_bin,下面以 fine_conf_entity 为例:

    1)查询当前的字符集排序规则 

    show full columns from fine_conf_entity

    2)设置字符集排序规则为 utf8_bin 

    • 设置列的默认校验规则 

    ALTER TABLE fine_conf_entity MODIFY id VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;
    • 设置表的校验规则 

    ALTER TABLE fine_conf_entity DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

    3)查看是否修改成功 

    show full columns from fine_conf_entity

    4)用上面1)2)3)相同的步骤将 fine_conf_entity 替换为 fine_conf_classname 表,设置如下图所示:

    附件列表


    主题: 管理员指南
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭