openEuler Linux 部署 FineBi
部署环境
| 环境 | 版本 | 
|---|---|
| openEuler Linux | 22.03 | 
| MySQL | 8.0.35 | 
| JDK | 1.8 | 
| FineBi | 6.0 | 
环境准备
升级系统内核和软件
            
            
              bash
              
              
            
          
          yum -y update
        
            
            
              bash
              
              
            
          
          reboot
        安装常用工具软件
            
            
              bash
              
              
            
          
          yum -y install vim tar net-tools 
        安装MySQL8
将 MySQL Yum 存储库添加到系统的存储库列表中
            
            
              bash
              
              
            
          
          sudo yum -y install https://repo.mysql.com//mysql80-community-release-el8-9.noarch.rpm
        通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库
            
            
              bash
              
              
            
          
          sudo yum repolist enabled | grep mysql
        通过以下命令安装 MySQL
            
            
              bash
              
              
            
          
          sudo yum -y install mysql-community-server
        启动 MySQL 服务器
使用以下命令启动 MySQL 服务器:
            
            
              bash
              
              
            
          
          sudo systemctl start mysqld
        您可以使用以下命令检查 MySQL 服务器的状态:
            
            
              bash
              
              
            
          
          sudo systemctl status mysqld
        使用以下命令开启自启动 MySQL 服务器:
            
            
              bash
              
              
            
          
          sudo systemctl enable mysqld
        在服务器初始启动时,假设服务器的数据目录为空,会发生以下情况:
- 
服务器已初始化。
 - 
SSL 证书和密钥文件在数据目录中生成。
 - 
validate_password已安装并启用。 - 
创建了一个超级用户帐户
'root'@'localhost。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:sudo grep 'temporary password' /var/log/mysqld.log 

通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改 root 密码:
            
            
              bash
              
              
            
          
          mysql -uroot -p
        修改密码
            
            
              sql
              
              
            
          
          ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lihaozhe!!@@1122';
FLUSH PRIVILEGES;
        不检查指定为散列值的密码,因为原始密码值不可用于检查:
            
            
              sql
              
              
            
          
          ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Lihaozhe!!@@1122';
FLUSH PRIVILEGES;
        
            
            
              sql
              
              
            
          
          update mysql.user set host = '%',plugin='mysql_native_password' where user='root';
FLUSH PRIVILEGES;
        
            
            
              sql
              
              
            
          
          exit;
        
            
            
              bash
              
              
            
          
          sudo systemctl restart mysqld
        防火墙开放端口
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
            
            
              bash
              
              
            
          
          firewall-cmd --zone=public --add-port=3306/tcp --permanent
        防火墙重载
            
            
              bash
              
              
            
          
          firewall-cmd --reload 
        
            
            
              bash
              
              
            
          
          # 使用新密码连接
mysql -h 你自己的IP地址 -uroot -p
        创建finebi外接数据库finedb
字符集应当为 utf8 ,排序规则为 utf8_bin。
            
            
              sql
              
              
            
          
          create database finebi character set utf8 collate utf8_bin;
        安装jdk和tomcat
下载jdk
jdk 官网下载页面:https://www.oracle.com/java/technologies/downloads/

下载jdk

解压jdk和tomcat并修改目录名称
            
            
              bash
              
              
            
          
          tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local/
tar -zxvf apache-tomcat-9.0.83.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_391/ /usr/local/jdk-8
mv /usr/local/apache-tomcat-9.0.83 /usr/local/tomcat-9
        设置tomcat.pid文件生成
其中tomcat.pid文件本身不存在,设置之后,启动Tomcat会自动生成
            
            
              bash
              
              
            
          
          vim /usr/local/tomcat-9/bin/catalina.sh
        定位文件第152行找到 PRGDIR=
dirname "$PRG"并在该行下追加以下内容
            
            
              bash
              
              
            
          
          CATALINA_PID="/usr/local/tomcat-9/bin/tomcat.pid"
        
配置环境变量
            
            
              bash
              
              
            
          
          vim /etc/profile.d/my_env.sh
        
            
            
              bash
              
              
            
          
          export JAVA_HOME=/usr/local/jdk-8
export CATALINA_BASE=/usr/local/tomcat-9
export CATALINA_HOME=/usr/local/tomcat-9
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bin
        
            
            
              bash
              
              
            
          
          source /etc/profile.d/my_env.sh
        编写开机启动服务
            
            
              bash
              
              
            
          
          cd /usr/lib/systemd/system
vim tomcat-9.service
        
            
            
              bash
              
              
            
          
          [Unit]
Description=finereport-server
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk-8"
PIDFile=/usr/local/tomcat-9/bin/tomcat.pid
ExecStart=/usr/local/tomcat-9/bin/startup.sh
ExecReload=/usr/local/tomcat-9/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
        
            
            
              bash
              
              
            
          
          systemctl daemon-reload
systemctl start tomcat-9.service 
systemctl enable tomcat-9.service 
        设置防火墙端口放行
            
            
              bash
              
              
            
          
          firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload 
        重启系统
            
            
              bash
              
              
            
          
          reboot
        浏览器访问测试

安装finebi
官网下载

上传安装包
tomcat-linux-x64.tar.gz
解压安装包到指定目录
/usr/local
            
            
              bash
              
              
            
          
          tar -zxvf tomcat-linux-x64.tar.gz -C /usr/local/
        解压后的目录名为 tomcat-linux-64
删除 MySQL5 数据库驱动
### 上传 MySQL 数据库驱动
```bash
cd /usr/local/tomcat-linux-x64/webapps/webroot/WEB-INF/lib/
        
            
            
              bash
              
              
            
          
          ls mysql*
        
删除MySQL5的驱动后上传MySQL8的驱动
mysql-connector-j-8.0.33.jar mysql驱动
protobuf-java-3.5.1.jar mysql驱动依赖
            
            
              bash
              
              
            
          
          rm -f mysql-connector-java-5.1.49-bin.jar /usr/local/tomcat-9/webapps/finebi
        复制 finebi web 工程到 tomcat 服务器发布
            
            
              bash
              
              
            
          
          cp -r /usr/local/finebi/webapps/webroot /usr/local/tomcat-9/webapps/finebi
        创建 finebi 外接数据库
本案例使用
MySQL8作为finebi外接数据库
- 关闭 BI 工程
 - 删除工程webapps\webroot\WEB-INF\lib目录下的
 mysql-connector-java-5.1.49-bin.jar- 下载对应版本的
 MySQL8驱动,并上传至工程webapps\webroot\WEB-INF\lib目录下。
- 上传mysql8驱动
 mysql-connector-j-8.0.33.jar- 上传mysql8驱动依赖
 protobuf-java-3.5.1.jar
重启 BI 工程。
字符集:平台外接 MySQL 数据库时,需要设置字符集排序规则(大小写敏感)。
推荐使用 utf8 -- UTF-8 Unicode 编码。
不支持 utf8mb4 编码
排序规则:MySQL 中存在多种格式的 utf8 编码的排序规则,其中最常见的两种如下表所示:
- utf8_bin(推荐)
 
定义:将字符串中的每一个字符用二进制数据存储,区分大小写
示例:Alex 和 alex 被认为是两个不同的值- utf8_general_ci
 
定义:ci 为 case insensitive 的缩写,即大小写不敏感,为 utf8 默认编码
示例:Alex 和 alex 被认为是相同的值
登录mysql创建 finebi 数据库
            
            
              sql
              
              
            
          
          create database finebi default character set utf8 collate utf8_bin;
        重启 tomcat
            
            
              bash
              
              
            
          
          systemctl restart tomcat-9
        浏览器访问测试

设置账号密码

账号密码设置成功

根据使用场景选择数据库
本案例使用外接数据库

外接数据库配置

修改外接数据库参数
- 数据库类型
 mysql- 驱动
 
MySQL5com.mysql.jdbc.DriverMySQL8com.mysql.cj.jdbc.Driver
- 主机
 MySQL服务器IP地址- 端口号
 3306- 数据库名称
 finebi- 用户名
 root- 密码 ·MySQL数据库密码·
 

修改外接数据库参数后点击启用新数据库

登录 finebi

