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
- 驱动
MySQL5
com.mysql.jdbc.DriverMySQL8
com.mysql.cj.jdbc.Driver
- 主机
MySQL服务器IP地址
- 端口号
3306
- 数据库名称
finebi
- 用户名
root
- 密码 ·MySQL数据库密码·
修改外接数据库参数后点击启用新数据库