You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zh...@apache.org on 2022/04/22 15:56:11 UTC

[dolphinscheduler] branch dev updated: [Bug][Doc]Update database init instruction docs (#9659)

This is an automated email from the ASF dual-hosted git repository.

zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 072ba731a2 [Bug][Doc]Update database init instruction docs (#9659)
072ba731a2 is described below

commit 072ba731a215a3eaa009ba30c9ad4a33e9146d6c
Author: Eric Gao <er...@gmail.com>
AuthorDate: Fri Apr 22 23:56:00 2022 +0800

    [Bug][Doc]Update database init instruction docs (#9659)
---
 docs/docs/en/guide/installation/pseudo-cluster.md  | 27 +++++++++++++++++++---
 docs/docs/en/guide/upgrade.md                      | 21 ++++++-----------
 docs/docs/zh/guide/installation/pseudo-cluster.md  | 25 ++++++++++++++++++--
 docs/docs/zh/guide/upgrade.md                      | 21 ++++++-----------
 .../src/main/bin/upgrade-schema.sh                 |  4 ++--
 5 files changed, 63 insertions(+), 35 deletions(-)

diff --git a/docs/docs/en/guide/installation/pseudo-cluster.md b/docs/docs/en/guide/installation/pseudo-cluster.md
index 333aecc762..d4191ef5fa 100644
--- a/docs/docs/en/guide/installation/pseudo-cluster.md
+++ b/docs/docs/en/guide/installation/pseudo-cluster.md
@@ -132,24 +132,45 @@ registryServers="localhost:2181"
 
 ## Initialize the Database
 
-DolphinScheduler metadata is stored in the relational database. Currently, supports PostgreSQL and MySQL. If you use MySQL, you need to manually download [mysql-connector-java driver][mysql] (8.0.16) and move it to the lib directory of DolphinScheduler. Let's take MySQL as an example for how to initialize the database:
+DolphinScheduler metadata is stored in the relational database. Currently, supports PostgreSQL and MySQL. If you use MySQL, you need to manually download [mysql-connector-java driver][mysql] (8.0.16) and move it to the lib directory of DolphinScheduler, which is `tools/libs/`. Let's take MySQL as an example for how to initialize the database:
+
+For mysql 5.6 / 5.7
 
 ```shell
 mysql -uroot -p
 
 mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
 
-# Change {user} and {password} by requests
+# Replace {user} and {password} with your username and password
 mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
 mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
 
 mysql> flush privileges;
 ```
 
+For mysql 8:
+
+```shell
+mysql -uroot -p
+
+mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+# Replace {user} and {password} with your username and password
+mysql> CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
+mysql> CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
+mysql> FLUSH PRIVILEGES;
+```
+
+Change the username and password in `tools/conf/application.yaml` to {user} and {password} you set in the previous step. 
+
+Then, modify `tools/bin/dolphinscheduler_env.sh`, set mysql as default database `export DATABASE=${DATABASE:-mysql}`.  
+
 After the above steps done you would create a new database for DolphinScheduler, then run Shell scripts to init database:
 
 ```shell
-sh script/create-dolphinscheduler.sh
+sh tools/bin/create-schema.sh
 ```
 
 ## Start DolphinScheduler
diff --git a/docs/docs/en/guide/upgrade.md b/docs/docs/en/guide/upgrade.md
index 38f80d8c73..a7c8d109b4 100644
--- a/docs/docs/en/guide/upgrade.md
+++ b/docs/docs/en/guide/upgrade.md
@@ -13,24 +13,17 @@
 
 ## Database Upgrade
 
-- Modify the following properties in `conf/datasource.properties`.
-
-- If using MySQL as the database to run DolphinScheduler, please comment out PostgreSQL related configurations, and add MYSQL connector jar into lib dir, here we download `mysql-connector-java-8.0.16.jar`, and then correctly configure database connection information. You can download MYSQL connector jar from [here](https://downloads.MySQL.com/archives/c-j/). Alternatively, if you use PostgreSQL as the database, you just need to comment out Mysql related configurations and correctly confi [...]
-
-    ```properties
-      # postgre
-      #spring.datasource.driver-class-name=org.postgresql.Driver
-      #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
-      spring.datasource.username=xxx
-      spring.datasource.password=xxx
+- Change `username` and `password` in `./tools/conf/application.yaml` to yours.
+
+- If using MySQL as the database to run DolphinScheduler, please config it in `./tools/bin/dolphinscheduler_env.sh`, and add MYSQL connector jar into lib dir `./tools/lib`, here we download `mysql-connector-java-8.0.16.jar`, and then correctly configure database connection information. You can download MYSQL connector jar from [here](https://downloads.MySQL.com/archives/c-j/). Otherwise, PostgreSQL is the default database. 
+
+    ```shell
+    export DATABASE=${DATABASE:-mysql}
     ```
 
 - Execute database upgrade script:
 
-    `sh ./script/upgrade-dolphinscheduler.sh`
+    `sh ./tools/bin/upgrade-schema.sh`
 
 ## Backend Service Upgrade
 
diff --git a/docs/docs/zh/guide/installation/pseudo-cluster.md b/docs/docs/zh/guide/installation/pseudo-cluster.md
index e153e44373..43e904bc22 100644
--- a/docs/docs/zh/guide/installation/pseudo-cluster.md
+++ b/docs/docs/zh/guide/installation/pseudo-cluster.md
@@ -132,7 +132,9 @@ registryServers="localhost:2181"
 
 ## 初始化数据库
 
-DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 [mysql-connector-java 驱动][mysql] (8.0.16) 并移动到 DolphinScheduler 的 lib目录下。下面以 MySQL 为例,说明如何初始化数据库
+DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 [mysql-connector-java 驱动][mysql] (8.0.16) 并移动到 DolphinScheduler 的 lib目录下(`tools/libs/`)。下面以 MySQL 为例,说明如何初始化数据库
+
+对于mysql 5.6 / 5.7:
 
 ```shell
 mysql -uroot -p
@@ -146,10 +148,29 @@ mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTI
 mysql> flush privileges;
 ```
 
+对于mysql 8:
+
+```shell
+mysql -uroot -p
+
+mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+# 修改 {user} 和 {password} 为你希望的用户名和密码
+mysql> CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
+mysql> CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
+mysql> FLUSH PRIVILEGES;
+```
+
+将`tools/conf/application.yaml`中的username和password改成你在上一步中设置的用户名{user}和密码{password} 
+
+然后修改`tools/bin/dolphinscheduler_env.sh`,将mysql设置为默认数据类型`export DATABASE=${DATABASE:-mysql}`.  
+
 完成上述步骤后,您已经为 DolphinScheduler 创建一个新数据库,现在你可以通过快速的 Shell 脚本来初始化数据库
 
 ```shell
-sh script/create-dolphinscheduler.sh
+sh tools/bin/create-schema.sh
 ```
 
 ## 启动 DolphinScheduler
diff --git a/docs/docs/zh/guide/upgrade.md b/docs/docs/zh/guide/upgrade.md
index 3d1b3016aa..3e95874557 100644
--- a/docs/docs/zh/guide/upgrade.md
+++ b/docs/docs/zh/guide/upgrade.md
@@ -13,24 +13,17 @@
 - 以下升级操作都需要在新版本的目录进行
 
 ## 4. 数据库升级
-- 修改conf/datasource.properties中的下列属性
-
-- 如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理), 还需要手动添加 [[ mysql-connector-java 驱动 jar ](https://downloads.MySQL.com/archives/c-j/)] 包到 lib 目录下,这里下载的是mysql-connector-java-8.0.16.jar,然后正确配置数据库连接相关信息
-
-    ```properties
-      # postgre
-      #spring.datasource.driver-class-name=org.postgresql.Driver
-      #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true     需要修改ip,本机localhost即可
-      spring.datasource.username=xxx						需要修改为上面的{user}值
-      spring.datasource.password=xxx						需要修改为上面的{password}值
+- 将`./tools/conf/application.yaml`中的username和password改成你设定数据库用户名和密码
+
+- 如果选择 MySQL,请修改`./tools/bin/dolphinscheduler_env.sh`中的如下配置, 还需要手动添加 [[ mysql-connector-java 驱动 jar ](https://downloads.MySQL.com/archives/c-j/)] 包到 lib 目录(`./tools/lib`)下,这里下载的是mysql-connector-java-8.0.16.jar
+
+    ```shell
+    export DATABASE=${DATABASE:-mysql}
     ```
 
 - 执行数据库升级脚本
 
-`sh ./script/upgrade-dolphinscheduler.sh`
+`sh ./tools/bin/upgrade-schema.sh`
 
 ## 5. 服务升级
 
diff --git a/dolphinscheduler-tools/src/main/bin/upgrade-schema.sh b/dolphinscheduler-tools/src/main/bin/upgrade-schema.sh
index 321fee919b..feb826a230 100755
--- a/dolphinscheduler-tools/src/main/bin/upgrade-schema.sh
+++ b/dolphinscheduler-tools/src/main/bin/upgrade-schema.sh
@@ -19,10 +19,10 @@
 BIN_DIR=$(dirname $0)
 DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd $BIN_DIR/../..; pwd)}
 
-source "$DOLPHINSCHEDULER_HOME/bin/env/dolphinscheduler_env.sh"
+source "$DOLPHINSCHEDULER_HOME/tools/bin/dolphinscheduler_env.sh"
 
 JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} -Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"}
 
 java $JAVA_OPTS \
-  -cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/tools/libs/*":"$DOLPHINSCHEDULER_HOME/tools/sql" \
+  -cp "$DOLPHINSCHEDULER_HOME/tools/conf":"$DOLPHINSCHEDULER_HOME/tools/libs/*":"$DOLPHINSCHEDULER_HOME/tools/sql" \
   org.apache.dolphinscheduler.tools.datasource.UpgradeDolphinScheduler