1 如何修改内置 MySQL 端口

  1. 1. 修改配置文件:
  2. **1.4 版本之前的版本**,修改运行目录下 /opt/dataease/docker-compose-mysql.yml 文件,将 MySQL 外部运行端口参数 ${DE_MYSQL_PORT} 改为新端口,如 3307:
  3. ```yml
  4. ports:
  5. - 3307:3306
  6. ```
  7. **1.4 版本及之后的版本**,修改运行目录下 /opt/dataease/.env 文件,将 DE_MYSQL_PORT 改为新端口,如 3307:
  8. ```properties
  9. DE_MYSQL_PORT=3307
  10. ```
  11. 2. 重启 DataEase 服务: service dataease restart

2 如何修改内置 MySQL 容器名

  1. 1. 修改运行目录下 /opt/dataease/docker-compose.yml 文件,将 dataease depends_on 里的 mysql 改为 mysql-de,例如:
  2. ```yml
  3. dataease:
  4. image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v1.0.0
  5. container_name: dataease
  6. ports:
  7. - 80:8081
  8. mem_limit: 4096m
  9. volumes:
  10. - dataease-conf:/opt/dataease/conf
  11. - dataease-logs:/opt/dataease/logs
  12. - dataease-plugins:/opt/dataease/plugins/thirdpart
  13. - dataease-kettle-data:/opt/dataease/data/kettle
  14. depends_on:
  15. mysql-de:
  16. condition: service_healthy
  17. ```
  18. 2. 修改 /opt/dataease/docker-compose-mysql.yml,将 mysql 相关的容器名改为 mysql-de,例如:
  19. ```yml
  20. mysql-de:
  21. image: registry.cn-qingdao.aliyuncs.com/dataease/mysql:5.7.25
  22. container_name: mysql-de
  23. healthcheck:
  24. test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
  25. interval: 5s
  26. timeout: 3s
  27. retries: 10
  28. env_file:
  29. - ./conf/mysql.env
  30. ports:
  31. - 53306:3306
  32. volumes:
  33. - /opt/dataease/conf/my.cnf:/etc/mysql/conf.d/my.cnf
  34. - /opt/dataease/bin/mysql:/docker-entrypoint-initdb.d/
  35. - dataease-mysql-data:/var/lib/mysql
  36. networks:
  37. - dataease-network
  38. ```
  39. 3. 修改 /opt/dataease/conf/dataease.properties,将数据库 URL 信息改为如下:
  40. ```properties
  41. spring.datasource.url=jdbc:mysql://mysql-de:3306/dataease?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
  42. ```
  43. 4. 重启 DataEase 服务: service dataease restart

3 修改已安装的 DataEase 链接外部 MySQL

  1. **特别注意,使用外部 MySQL 时,需要注意几个地方:**
  2. - lower_case_table_names=1
  3. - group_concat_max_len=1024000
  4. - default-character-set=utf8
  5. - innodb_large_prefix=on
  6. 1. 修改运行目录下 .env (默认路径 /opt/dataease/.env) 文件中 MySQL 的相关配置,包括 DE_EXTERNAL_MYSQLDE_MYSQL_HOSTDE_MYSQL_PORTDE_MYSQL_DBDE_MYSQL_USERDE_MYSQL_PASSWORDDE_EXTERNAL_MYSQL=true
  7. 2. 修改 dataease.properties (默认路径 /opt/dataease/conf/dataease.properties),将 spring.datasource 开头的几个参数里,MySQL 的配置参数进行相应的修改,包括:数据库地址、数据库端口、数据库库名、数据库用户名、数据库密码;
  8. 3. 内置 MySQL 切换为外置 MySQL,修改运行目录下 /opt/dataease/docker-compose.yml 文件,将其中 depends_on 相关设置删除:
  9. ```yml
  10. depends_on:
  11. mysql:
  12. condition: service_healthy
  13. ```
  14. 4. 重启 DataEase 服务: service dataease restart

4 DataEase 数据库由外部 MySQL 切换为内置 MySQL

  1. 1. 修改运行目录下 .env (默认路径 /opt/dataease/.env) 文件中 MySQL 的相关配置,包括 DE_EXTERNAL_MYSQLDE_MYSQL_HOSTDE_MYSQL_PORTDE_MYSQL_DBDE_MYSQL_USERDE_MYSQL_PASSWORDDE_EXTERNAL_MYSQL=false
  2. 2. 修改 dataease.properties (默认路径 /opt/dataease/conf/dataease.properties),将 spring.datasource 开头的几个参数里,MySQL 的配置参数进行相应的修改,包括:数据库地址、数据库端口、数据库库名、数据库用户名、数据库密码;
  3. 3. 修改运行目录下 /opt/dataease/docker-compose.yml 文件,为 dataesae 服务加上 depends_on 相关设置,类似(镜像版本注意按实际情况替换):
  4. ```yml
  5. version: '2.1'
  6. services:
  7. dataease:
  8. image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v1.3.0
  9. container_name: dataease
  10. ports:
  11. - ${DE_PORT}:8081
  12. mem_limit: 4096m
  13. volumes:
  14. - ${DE_BASE}/dataease/conf:/opt/dataease/conf
  15. - ${DE_BASE}/dataease/logs:/opt/dataease/logs
  16. - ${DE_BASE}/dataease/plugins/thirdpart:/opt/dataease/plugins/thirdpart
  17. - ${DE_BASE}/dataease/data/kettle:/opt/dataease/data/kettle
  18. depends_on:
  19. mysql:
  20. condition: service_healthy
  21. networks:
  22. - dataease-network
  23. networks:
  24. dataease-network:
  25. driver: bridge
  26. ipam:
  27. driver: default
  28. config:
  29. - subnet: 172.19.0.0/16
  30. gateway: 172.19.0.1
  31. ```
  32. 4. 重启 DataEase 服务: service dataease restart

5 使用 DataEase 时提示 “Row 30153 was cut by GROUP_CONCAT()” 的错误

  1. **当出现类似下图的错误时,可以通过任选以下方式之一处理:**
  2. 1. 修改 my.cnf 文件的 group_concat_max_len 参数,如:group_concat_max_len=1024000,然后重启 MySQL 服务;
  3. 2. 进入 MySQL,执行 SET GLOBAL group_concat_max_len=1024000; 临时修改该参数的值。

mysql-concat{ width=”900px” }

6 安装 DataEase 后内置 MySQL 的配置参数未生效

  1. **注意:** 出于安全考虑,当 MySQL 配置文件 my.cnf 权限过高时,会被 MySQL 忽略加载。请确认配置文件目录(默认路径 /opt/dataease/conf)下的配置文件的访问权限为 644
  2. 可以通过命令修改文件权限:
  3. ```shell
  4. chmod 644 /opt/dataease/conf/*
  5. ```
  6. 修改文件属性后,重启 DataEase 服务: service dataease restart

7 使用 DataEase 时,提示”Table ‘datashowdb.V_AUTH_MODEL’ doesn’t exist” 的错误

  1. 出现该问题一般是由于 DataEase 使用的外部 MySQL 配置参数 lower_case_table_names 设置为 0 了。
  2. 需要将该参数设置为 lower_case_table_names=1,重启 MySQL 服务即可。

大小写{ width=”900px” }

8 内置演示数据无效怎么办

  1. 在使用外部 MySQL,或者修改了内置 MySQL 容器名后,会出现内置演示数据无效的情况,如示例仪表板无法展示等待。可以登录 DataEase 控制台,进入到【数据源】页面,选择 "demo" 数据源,点击下方的编辑按钮,将 demo 数据源的相关连接信息按实际情况进行设置,校验通过后,保存即可。

9 使用 DataEase 的时候提示 “illegal mix of collations (latin1_bin implicit) and (utf8_general_ci coercible)” 的错误

  1. **该问题是由于字符集编码不同导致,可以参考下图的配置:**
  2. 1. 更改 MySQL my.cnf,把 client server 的字符集改为 utf8
  3. 2. 修改 collation 编码:
  4. ```mysql
  5. set collation_database=utf8_general_ci;
  6. set collation_connection=utf8_general_ci;
  7. set collation_server=utf8_general_ci;
  8. ```

字符集{ width=”600px” }

10 DataEase 启动失败,使用 MySQL 8.x 作为外置数据库

  1. DataEase 启动过程中,抛出 Public Key Retrieval is not allowed 的异常。
  2. **解决方法:**
  3. ```shell
  4. cd /opt/dataease/conf/dataease.properties
  5. ```
  6. spring.datasource.url 最后加上 &allowPublicKeyRetrieval=true