通常情况下,在部署 DataEase 时默认使用root特权用户连接数据库 MySQL,但在审计较为严格的环境中,不允许使用特权用户连接数据库。
本篇文章将介绍将 DataEase 的 MySQL 数据库单独部署时使用非特权用户进行连接的配置方法。
1 使用外部数据库设置
请自行在其它服务器安装 MySQL,推荐使用 MySQL 5.7 版本。同时 DataEase 对数据库部分配置项有要求,请参考下附的数据库配置,修改环境中的数据库配置文件。
[mysqld]
datadir=/var/lib/mysql #此处可自定义
default-storage-engine=INNODB
character_set_server=utf8
lower_case_table_names=1
table_open_cache=128
max_connections=2000
max_connect_errors=6000
innodb_file_per_table=1
innodb_buffer_pool_size=1G
max_allowed_packet=64M
transaction_isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
innodb_flush_log_at_trx_commit=0
sync_binlog=0
group_concat_max_len=1024000
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
skip-name-resolve
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
#特别注意以下几个参数的设置:
character_set_server=utf8
lower_case_table_names=1
group_concat_max_len=1024000
创建 DataEase 使用的数据库
CREATE DATABASE `dataease` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
创建用户
CREATE USER 'user1'@'%' IDENTIFIED BY 'test123';
用户授权
grant CREATE,ALTER,DROP,SELECT,INSERT,UPDATE,DELETE on dataease.* to 'user1'@'%' identified by 'test123';
grant CREATE VIEW,CREATE ROUTINE,ALTER ROUTINE,TRIGGER,INDEX,REFERENCES,EXECUTE on dataease.* to 'user1'@'%' identified by 'test123';
flush privileges;
2 修改 DataEase 配置文件
vim /opt/dataease-v1.x.0-offline/install.conf
参考以下配置改为实际环境的配置信息:
# 数据库配置
## 是否使用外部数据库
DE_EXTERNAL_MYSQL=true
## 数据库地址
DE_MYSQL_HOST=192.168.1.100
## 数据库端口
DE_MYSQL_PORT=3306
## DataEase 数据库库名
DE_MYSQL_DB=dataease
## 数据库用户名
DE_MYSQL_USER=user1
## 数据库密码
DE_MYSQL_PASSWORD=test123
3 执行安装脚本
进入安装包目录
cd /opt/dataease-v1.8.0-offline
# 运行安装脚本
/bin/bash install.sh
安装成功后,通过浏览器访问如下页面登录 DataEase。
地址: http://目标服务器IP地址:80
用户名: admin
密码: dataease
4 其他注意事项
内置示例数据以 flyway 的形式在 DataEase 启动时自动插入到了 MySQL 数据库中,如果使用了外部 MySQL 或者修改了内置 MySQL 的容器名称的话,需要登录到 DataEase 控制台,进入到【数据源】页面,选择 “demo” 数据源,将 “demo” 数据源的相关连接信息修改正确,保存后即可正常使用内置示例数据。