當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

配置MySQL8外接數據庫

1. 概述

1.1 版本

報表服務器版本
JAR 包版本
10.0
2020-12-02

1.2 功能簡介

報表系統配置外接數據庫後,遇到集群環境或數據量較大情況時,可保證報表系統的穩定性。

用戶可在「初始化時」配置外接數據庫或在「平台中」配置 MySQL8 版本的外接數據庫。

2. 數據庫配置

2.1 數據庫版本

外接數據庫支持的類型及版本如下表所示:

數據庫類型JAR 包版本支持數據庫版本
MySQL82020-12-02

8.0.11,8.0.16,8.0.20

2.2 硬件配置估算

用戶數量權限複雜度推薦大小( 具體情況需考慮其他配置複雜度及訪問量 )
1~100簡單25M
中等50M
100~2000簡單40M
中等85M
複雜150M
2000~30000簡單130M
中等250M
複雜500M

2.3 新建數據庫

準備将平台數據要遷移到的數據庫,建議用戶在本地數據庫中新建一個空的數據庫(數據庫大小請參考本文 2.2 節)。如下圖所示:

推薦設置數據庫默認字符集爲 utf8 ,默認排序規則爲 utf8_bin。如下圖所示:

注:不同 FineReport 工程,不可共用同一個外接數據庫,否則數據可能會出現錯亂。

image.png

數據庫名:

只允許包含數字、字母、下劃線和「.」

字符集:

1)平台外接 MySQL 數據庫時,需要設置字符集排序規則(大小寫敏感)。

2)推薦使用 utf8 – UTF-8 Unicode 編碼。

排序規則:

MySQL 中存在多種格式的 utf8 編碼的排序規則,其中最常見的兩種如下表所示:

1)utf8_bin(推薦)

定義:将字符串中的每一個字符用二進制數據存儲,區分大小寫

示例:Alex 和 alex 被認爲是兩個不同的值

1)utf8_general_ci

定義:ci 爲 case insensitive 的縮寫,即大小寫不敏感,爲 utf8 默認編碼

示例:Alex 和 alex 被認爲是相同的值

2.4 更換驅動

FineReport 10.0 内置了 MySQL5 版本的驅動,如使用 MySQL8 版本的外接數據庫,需要手動更換驅動。

1)關閉報表工程

2)下載對應版本的 MySQL8.0 驅動,并上傳至工程webapps\webroot\WEB-INF\lib目錄下。

3)删除工程webapps\webroot\WEB-INF\lib目錄下的mysql-connector-java-5.1.39-bin.jar

4)重啓報表工程。

image.png

3. 方法一:初始化時配置外接數據庫

本方法适用於第一次登錄數據決策系統時配置外接數據庫。

3.1 進入初始化界面

用戶可在第一次進入平台時配置外接數據庫,如下圖所示:

image.png

3.2 配置外接數據庫

點擊「配置數據庫」後,進入到外接數據庫配置界面,選擇數據庫類型爲 MySQL,輸入實際數據庫相應的信息即可。如下圖所示:

image.png

各設置項說明如下表所示:

設置項說明
數據庫類型選擇 MySQL
驅動

手動修改爲com.mysql.cj.jdbc.Driver

請确保已按照 2.4 節更換驅動,且工程中不存在其他版本的 MySQL 驅動

數據庫名稱

2.3 節新建的數據庫名稱

禁止與其他工程共用數據庫,建議新建數據庫

數據庫名稱只允許包含數字、字母、下劃線和「.」

用戶名/主機/密碼/端口根據本地數據庫實際情況填寫

主機名稱只允許包含數字、字母、下劃線、「-」和「.」

用戶需要具備 create、delete、alter、update、select、insert 權限,建議有最高 root 權限

數據庫連接URL

手動修改,格式如下,其中IP:端口号/數據庫名稱需要自行調整:

jdbc:mysql://IP:端口号/數據庫名稱?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL

3.3 配置成功

等待一段時間,提示已成功啓用新數據庫。如下圖所示:

注:請勿在遷移過程中刷新頁面。

13.png

4. 方法二:平台中配置外接數據庫

本方法适用於進入數據決策系統後,第一次配置外接數據庫。

4.1 進入平台

管理員登錄數據決策系統,點擊「管理系統>系統管理>常規>外接數據庫>待配置」,如下圖所示:

image.png

4.2 配置外接數據庫

輸入實際數據庫相應的信息,配置外接數據庫。如下圖所示:

image.png

各設置項說明如下表所示:

設置項說明
數據庫類型選擇 MySQL
驅動

手動修改爲com.mysql.cj.jdbc.Driver

請确保已按照 2.4 節更換驅動,且工程中不存在其他版本的 MySQL 驅動

數據庫名稱

2.3 節新建的數據庫名稱

禁止與其他工程共用數據庫,建議新建數據庫

數據庫名稱只允許包含數字、字母、下劃線和「.」

用戶名/主機/密碼/端口根據本地數據庫實際情況填寫

主機名稱只允許包含數字、字母、下劃線、「-」和「.」

用戶需要具備 create、delete、alter、update、select、insert 權限,建議有最高 root 權限

數據庫連接URL

手動修改,格式如下,其中IP:端口号/數據庫名稱需要自行調整:

jdbc:mysql://IP:端口号/數據庫名稱?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL

4.3 配置成功

等待一段時間,會跳出彈窗提示:已成功啓用目标數據庫,點擊「确定」即可。如下圖所示:

注1:請勿在遷移過程中刷新頁面。

注2:數據庫配置成功後無需重啓。

image.png

5. 方法三:平台二次遷移數據庫

本方法适用於系統已配置外接數據庫後,遷移至新的數據庫。

5.1 進入平台

管理員登錄數據決策系統,點擊「管理系統>系統管理>常規>外接數據庫>已配置」,如下圖所示:

image.png

5.2 配置外接數據庫

輸入實際數據庫相應的信息,配置外接數據庫。如下圖所示:

image.png

各設置項說明如下表所示:

設置項說明
數據庫類型選擇 MySQL
驅動

手動修改爲com.mysql.cj.jdbc.Driver

請确保已按照 2.4 節更換驅動,且工程中不存在其他版本的 MySQL 驅動

數據庫名稱

2.3 節新建的數據庫名稱

禁止與其他工程共用數據庫,建議新建數據庫

數據庫名稱只允許包含數字、字母、下劃線和「.」

用戶名/主機/密碼/端口根據本地數據庫實際情況填寫

主機名稱只允許包含數字、字母、下劃線、「-」和「.」

用戶需要具備 create、delete、alter、update、select、insert 權限,建議有最高 root 權限

數據庫連接URL

手動修改,格式如下,其中IP:端口号/數據庫名稱需要自行調整:

jdbc:mysql://IP:端口号/數據庫名稱?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL

「遷移數據至要啓用的數據庫」按鈕說明:

1)勾選「遷移數據至要啓用的數據庫」

  • 切換數據庫時,原外接數據庫的數據會導入到新數據庫,工程下不生成曆史數據備份文件。

  • 若新數據庫中已存在平台數據,導入數據前将清空原有平台數據。提示如下圖所示:

1601346675403024.png

2)不勾選「遷移數據至要啓用的數據庫」

  • 若新外接數據庫爲空,提示必須将當前數據遷移到目标數據庫。

1601347324606807.png

  • 若新外接數據庫不爲空

       遷移前将自動備份原數據庫的配置信息,在webapps\webroot\WEB-INF\config目錄下生成db.properties.bak文件。如下圖所示:

8.png

       直接啓用新數據庫,遷移成功後,提示如下圖所示:

1601346909552549.png

5.3 遷移成功

等待一段時間,會跳出彈窗提示:已成功切換至目标數據庫!新舊數據庫若存在數據差異可能影響系統運行,建議重啓沖刺以确保正常使用。

點擊「确定」後,重啓報表工程,方遷移成功。如下圖所示:

注:請勿在遷移過程中刷新頁面。

image.png

提示:

image.png

6. 注意事項

如果一開始數據庫排序規則沒有設置 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 表,設置如下圖所示:

222

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

反饋已提交

網絡繁忙