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

luzhijing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 2626995fc1 [Doc](Load)Add mysql load document (#16483)
2626995fc1 is described below

commit 2626995fc17d883975918e6080248351cd8fdc32
Author: huangzhaowei <[email protected]>
AuthorDate: Mon Feb 27 13:25:34 2023 +0800

    [Doc](Load)Add mysql load document (#16483)
    
    * Add doc
    
    * 1
    
    * doc2
    
    * review again
    
    * fix comment
    
    * fix comment
    
    * format
    
    * add recommand dir
    
    * cleint --local-infile
    
    * add streaming_load_max_mb
---
 .../import/import-scenes/local-file-load.md        |  63 +++++++-
 .../import/import-way/mysql-load-manual.md         | 123 +++++++++++++++
 docs/en/docs/data-operate/import/load-manual.md    |   2 +
 .../Load/MYSQL-LOAD.md                             | 169 +++++++++++++++++++++
 docs/sidebars.json                                 |   4 +-
 .../import/import-scenes/local-file-load.md        |  61 +++++++-
 .../import/import-way/mysql-load-manual.md         | 127 ++++++++++++++++
 docs/zh-CN/docs/data-operate/import/load-manual.md |   2 +
 .../Load/MYSQL-LOAD.md                             | 168 ++++++++++++++++++++
 9 files changed, 712 insertions(+), 7 deletions(-)

diff --git a/docs/en/docs/data-operate/import/import-scenes/local-file-load.md 
b/docs/en/docs/data-operate/import/import-scenes/local-file-load.md
index 25e619d298..24fef12ee1 100644
--- a/docs/en/docs/data-operate/import/import-scenes/local-file-load.md
+++ b/docs/en/docs/data-operate/import/import-scenes/local-file-load.md
@@ -25,6 +25,13 @@ under the License.
 -->
 
 # Import local data
+The following mainly introduces how to import local data in client.
+
+Now Doris support two way to load data from client local file:
+1. [Stream Load](../import-way/stream-load-manual.md)
+2. [MySql Load](../import-way/mysql-load-manual.md)
+
+## Stream Load
 
 Stream Load is used to import local files into Doris.
 
@@ -39,7 +46,7 @@ In this document, we use the 
[curl](https://curl.se/docs/manpage.html) command a
 
 At the end of the document, we give a code example of importing data using Java
 
-## Import Data
+### Import Data
 
 The request body of Stream Load is as follows:
 
@@ -104,12 +111,12 @@ PUT /api/{db}/{table}/_stream_load
    - The status of the `Status` field is `Success`, which means the import is 
successful.
    - For details of other fields, please refer to the [Stream 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/STREAM-LOAD.md)
 command documentation.
 
-## Import suggestion
+### Import suggestion
 
 - Stream Load can only import local files.
 - It is recommended to limit the amount of data for an import request to 1 - 2 
GB. If you have a large number of local files, you can submit them concurrently 
in batches.
 
-## Java code example
+### Java code example
 
 Here is a simple JAVA example to execute Stream Load:
 
@@ -216,3 +223,53 @@ public class DorisStreamLoader {
 > <version>4.5.13</version>
 > </dependency>
 > ```
+
+## MySql LOAD
+<version since="dev">
+    Example of mysql load
+</version>
+
+### Import Data
+1. Create a table
+
+   Use the `CREATE TABLE` command to create a table in the `demo` database to 
store the data to be imported.
+
+   ```sql
+   CREATE TABLE IF NOT EXISTS load_local_file_test
+   (
+   id INT,
+   age TINYINT,
+   name VARCHAR(50)
+   )
+   unique key(id)
+   DISTRIBUTED BY HASH(id) BUCKETS 3;
+   ````
+
+2. Import data
+   Excute fellowing sql statmeent in the mysql client to load client local 
file:
+
+   ```sql
+   LOAD DATA
+   LOCAL
+   INFILE '/path/to/local/demo.txt'
+   INTO TABLE demo.load_local_file_test
+   ```
+
+   For more advanced operations of the MySQL Load command, see [MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 Command documentation.
+
+3. Wait for the import result
+
+   The MySql Load command is a synchronous command, and a successful return 
indicates that the import is successful. If the imported data is large, a 
longer waiting time may be required. Examples are as follows:
+
+   ```text
+   Query OK, 1 row affected (0.17 sec)
+   Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
+   ```
+
+   - Load success if the client show the return rows. Otherwise sql statement 
will throw an exception and show the error message in client.
+   - For details of other fields, please refer to the [MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 command documentation.
+
+### Import suggestion
+
+   - MySql Load can only import local files(which can be client local file or 
fe local file) and only support csv format.
+   - It is recommended to limit the amount of data for an import request to 1 
- 2 GB. If you have a large number of local files, you can submit them 
concurrently in batches.
diff --git a/docs/en/docs/data-operate/import/import-way/mysql-load-manual.md 
b/docs/en/docs/data-operate/import/import-way/mysql-load-manual.md
new file mode 100644
index 0000000000..9818e5b4e1
--- /dev/null
+++ b/docs/en/docs/data-operate/import/import-way/mysql-load-manual.md
@@ -0,0 +1,123 @@
+---
+{
+    "title": "MySql load",
+    "language": "en"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Mysql load
+<version since="dev">
+
+This is an stand syntax of MySql [LOAD 
DATA](https://dev.mysql.com/doc/refman/8.0/en/load-data.html) for user to load 
local file.
+
+MySql load synchronously executes the import and returns the import result. 
The return information will show whether the import is successful for user.
+
+MySql load is mainly suitable for importing local files on the client side, or 
importing data from a data stream through a program.
+
+</version>
+
+## Basic Principles
+
+The MySql Load are similar with Stream Load. Both import local files into the 
Doris cluster, so the MySQL Load will reuses StreamLoad:
+
+ 1. FE receives the MySQL Load request executed by the client and then analyse 
the SQL
+
+ 2. FE build the MySql Load request as a StreamLoad request.
+
+ 3. FE selects a BE node to send a StreamLoad request
+
+ 4. When sending the request, FE will read the local file data from the MySQL 
client side streamingly, and send it to the HTTP request of StreamLoad 
asynchronously.
+
+ 5. After the data transfer on the MySQL client side is completed, FE waits 
for the StreamLoad to complete, and displays the import success or failure 
information to the client side.
+
+
+## Support data format
+
+MySql Load currently only supports data formats: CSV (text).
+
+## Basic operations
+
+### Create test table
+```sql
+ CREATE TABLE testdb.t1 (pk INT, v1 INT SUM) AGGREGATE KEY (pk) DISTRIBUTED BY 
hash (pk) PROPERTIES ('replication_num' = '1');
+ ```
+ ### import file from client node
+ Suppose there is a CSV file named 'client_local.csv 'on the current path of 
the client side, which will be imported into the test table'testdb.t1' using 
the MySQL LOAD syntax.
+
+```sql
+LOAD DATA LOCAL
+INFILE 'client_local.csv '
+INTO TABLE testdb.t1
+PARTITION (partition_a, partition_b, partition_c, partition_d)
+COLUMNS TERMINATED BY '\ t'
+LINES TERMINATED BY '\ n'
+IGNORE 1 LINES
+(K1, k2, v2, v10, v11)
+SET (c1 = k1, c2 = k2, c3 = v10, c4 = v11)
+PROPERTIES ("strict_mode" = "true")
+```
+1. MySQL Load starts with the syntax `LOAD DATA`, and specifying `LOCAL` means 
reading client side files.
+2. The local fill path will be filled after `INFILE`, which can be a relative 
path or an absolute path. Currently only a single file is supported, and 
multiple files are not supported
+3. The table name after `INTO TABLE` can specify the database name, as shown 
in the case. It can also be omitted, and the current database for the user will 
be used.
+4. `PARTITION` syntax supports specified partition to import
+5. `COLUMNS TERMINATED BY` specifies the column separator
+6. `LINES TERMINATED BY` specifies the line separator
+7. `IGNORE num LINES` skips the num header of the CSV.
+8. Column mapping syntax, see the column mapping chapter of [Imported Data 
Transformation](../import-scenes/load-data-convert.md) for specific parameters
+9. `PROPERTIES` is the configuration of import, please refer to the [MySQL 
Load](../../../sql-manual/sql-reference/Data-Management-Statements/Load/MYSQL-LOAD.md)
 command manual for specific properties.
+
+### import file from fe server node
+Assuming that the '/root/server_local.csv' path on the FE node is a CSV file, 
use the MySQL client side to connect to the corresponding FE node, and then 
execute the following command to import data into the test table.
+
+```sql
+LOAD DATA
+INFILE '/root/server_local.csv'
+INTO TABLE testdb.t1
+PARTITION (partition_a, partition_b, partition_c, partition_d)
+COLUMNS TERMINATED BY '\ t'
+LINES TERMINATED BY '\ n'
+IGNORE 1 LINES
+(K1, k2, v2, v10, v11)
+SET (c1 = k1, c2 = k2, c3 = v10, c4 = v11)
+PROPERTIES ("strict_mode" = "true")
+```
+1. The only difference between the syntax of importing server level local 
files and importing client side syntax is whether the'LOCAL 'keyword is added 
after the'LOAD DATA' keyword.
+2. FE will have multi-nodes, and importing server level files can only import 
FE nodes connected by the client side, and cannot import files local to other 
FE nodes.
+3. Server side load was disabled by default. Enable it by setting 
`mysql_load_server_secure_path` with a secure path. All the load file should be 
under this path. Recommend create a `local_import_data` directory under 
`DORIS_HOME` to load data.
+
+### Return result
+Since MySQL load is a synchronous import method, the imported results are 
returned to the user through SQL syntax.
+If the import fails, a specific error message will be displayed. If the import 
is successful, the number of imported rows will be displayed.
+
+```Text
+Query OK, 1 row affected (0.17 sec)
+Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
+```
+
+## Notice 
+
+1. If you see this `LOAD DATA LOCAL INFILE file request rejected due to 
restrictions on access` message, you should connet mysql with `mysql  
--local-infile=1` command to enable client to load local file.
+2. The configuration for StreamLoad will also affect MySQL Load. Such as the 
configurate in be named `streaming_load_max_mb`, it's 10GB by default and it 
will control the max size for one load.
+
+## More Help
+
+1. For more detailed syntax and best practices for using MySQL Load, see the 
[MySQL 
Load](../../../sql-manual/sql-reference/Data-Management-Statements/Load/MYSQL-LOAD.md)
 command manual.
\ No newline at end of file
diff --git a/docs/en/docs/data-operate/import/load-manual.md 
b/docs/en/docs/data-operate/import/load-manual.md
index 1eedeed429..922870dbb2 100644
--- a/docs/en/docs/data-operate/import/load-manual.md
+++ b/docs/en/docs/data-operate/import/load-manual.md
@@ -53,6 +53,7 @@ Doris provides a variety of data import solutions, and you 
can choose different
 | Binlog Load        | [collect Mysql Binlog import 
data](./import-way/binlog-load-manual.md) |
 | Insert Into        | [External table imports data through 
INSERT](./import-way/insert-into-manual.md) |
 | S3 Load            | [Object storage data import of S3 
protocol](./import-way/s3-load-manual.md) |
+| MySql Load         | [Local data import of MySql 
protocol](./import-way/mysql-load-manual.md) |
 
 ## Supported data formats
 
@@ -63,6 +64,7 @@ Different import methods support slightly different data 
formats.
 | Broker Load    | parquet, orc, csv, gzip |
 | Stream Load    | csv, json, parquet, orc |
 | Routine Load   | csv, json               |
+| MySql Load     | csv                     |
 
 ## import instructions
 
diff --git 
a/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
 
b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
new file mode 100644
index 0000000000..34c28cb707
--- /dev/null
+++ 
b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
@@ -0,0 +1,169 @@
+---
+{
+    "title": "MYSQL-LOAD",
+    "language": "en"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## MYSQL-LOAD
+
+### Name
+
+<version since="dev">
+    MYSQL LOAD
+</version>
+
+### Description
+
+mysql-load: Import local data using the MySql client
+
+```
+LOAD DATA
+[LOCAL]
+INFILE 'file_name'
+INTO TABLE tbl_name
+[PARTITION (partition_name [, partition_name] ...)]
+[COLUMNS TERMINATED BY 'string']
+[LINES TERMINATED BY 'string']
+[IGNORE number {LINES | ROWS}]
+[(col_name_or_user_var [, col_name_or_user_var] ...)]
+[SET (col_name={expr | DEFAULT} [, col_name={expr | DEFAULT}] ...)]
+[PROPERTIES (key1 = value1 [, key2=value2]) ]
+```
+
+This statement is used to import data to the specified table. Unlike normal 
Load, this import method is a synchronous import.
+
+This import method can still guarantee the atomicity of a batch of import 
tasks, either all data imports are successful or all fail.
+
+1. MySQL Load starts with the syntax `LOAD DATA`, without specifying `LABEL`
+2. Specify  `LOCAL` to read client side files. Not specified to read FE server 
side local files. Server side load was disabled by default. It can be enabled 
by setting a secure path in FE configuration `mysql_load_server_secure_path`
+3. The local fill path will be filled after `INFILE`, which can be a relative 
path or an absolute path. Currently only a single file is supported, and 
multiple files are not supported
+4. The table name after `INTO TABLE` can specify the database name, as shown 
in the case. It can also be omitted, and the database where the current user is 
located will be used.
+5. `PARTITION` syntax supports specified partition to import
+6. `COLUMNS TERMINATED BY` specifies the column separator
+7. `LINES TERMINATED BY` specifies the line separator
+8. `IGNORE num LINES` The user skips the header of the CSV and can skip any 
number of lines. This syntax can also be replaced by'IGNORE num ROWS '
+9. Column mapping syntax, please refer to the column mapping chapter of 
[Imported Data 
Transformation](../../../data-operate/import/import-way/mysql-load-manual.md)
+10. `PROPERTIES` parameter configuration, see below for details
+
+### PROPERTIES
+
+1. max_filter_ratio:The maximum tolerable data ratio that can be filtered (for 
reasons such as data irregularity). Zero tolerance by default. Data 
irregularities do not include rows filtered out by where conditions.
+
+2. timeout: Specify the import timeout. in seconds. The default is 600 
seconds. The setting range is from 1 second to 259200 seconds.
+
+3. strict_mode: The user specifies whether to enable strict mode for this 
import. The default is off.
+
+4. timezone: Specify the time zone used for this import. The default is Dongba 
District. This parameter affects the results of all time zone-related functions 
involved in the import.
+
+5. exec_mem_limit: Import memory limit. Default is 2GB. The unit is bytes.
+
+### Example
+
+1. Import the data from the client side local file `testData` into the table 
`testTbl` in the database `testDb`. Specify a timeout of 100 seconds
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("timeout"="100")
+    ```
+
+2. Import the data from the server side local file `/root/testData` (set FE 
config `mysql_load_server_secure_path` to be `root` already) into the table 
`testTbl` in the database `testDb`. Specify a timeout of 100 seconds
+
+    ```sql
+    LOAD DATA
+    INFILE '/root/testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("timeout"="100")
+    ```
+
+3. Import data from client side local file `testData` into table `testTbl` in 
database `testDb`, allowing 20% error rate
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+4. Import the data from the client side local file `testData` into the table 
`testTbl` in the database `testDb`, allowing a 20% error rate and specifying 
the column names of the file
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    (k2, k1, v1)
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+5. Import the data in the local file `testData` into the p1, p2 partitions in 
the table of `testTbl` in the database `testDb`, allowing a 20% error rate.
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    PARTITION (p1, p2)
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+6. Import the data in the CSV file `testData` with a local row delimiter of 
`0102` and a column delimiter of `0304` into the table `testTbl` in the 
database `testDb`.
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    COLUMNS TERMINATED BY '0304'
+    LINES TERMINATED BY '0102'
+    ```
+
+7. Import the data from the local file `testData` into the p1, p2 partitions 
in the table of `testTbl` in the database `testDb` and skip the first 3 lines.
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    PARTITION (p1, p2)
+    INTO TABLE testDb.testTbl
+    IGNORE 1 LINES
+    ```
+
+8. Import data for strict schema filtering and set the time zone to 
Africa/Abidjan
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("strict_mode"="true", "timezone"="Africa/Abidjan")
+    ```
+
+9. Import data is limited to 10GB of import memory and timed out in 10 minutes
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("exec_mem_limit"="10737418240", "timeout"="600")
+    ```
+
+### Keywords
+
+    MYSQL, LOAD
diff --git a/docs/sidebars.json b/docs/sidebars.json
index 4b042f3aee..ed35625e5b 100644
--- a/docs/sidebars.json
+++ b/docs/sidebars.json
@@ -95,6 +95,7 @@
                                 
"data-operate/import/import-way/routine-load-manual",
                                 
"data-operate/import/import-way/spark-load-manual",
                                 
"data-operate/import/import-way/stream-load-manual",
+                                
"data-operate/import/import-way/mysql-load-manual",
                                 
"data-operate/import/import-way/s3-load-manual",
                                 
"data-operate/import/import-way/insert-into-manual",
                                 
"data-operate/import/import-way/load-json-format"
@@ -826,7 +827,8 @@
                                         
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/PAUSE-SYNC-JOB",
                                         
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/BROKER-LOAD",
                                         
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/CREATE-SYNC-JOB",
-                                        
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/STREAM-LOAD"
+                                        
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/STREAM-LOAD",
+                                        
"sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD"
                                     ]
                                 },
                                 {
diff --git 
a/docs/zh-CN/docs/data-operate/import/import-scenes/local-file-load.md 
b/docs/zh-CN/docs/data-operate/import/import-scenes/local-file-load.md
index a973ed0c2d..be023fe354 100644
--- a/docs/zh-CN/docs/data-operate/import/import-scenes/local-file-load.md
+++ b/docs/zh-CN/docs/data-operate/import/import-scenes/local-file-load.md
@@ -26,7 +26,13 @@ under the License.
 -->
 
 # 导入本地数据
+本文档主要介绍如何从客户端导入本地的数据。
 
+目前Doris支持两种从本地导入数据的模式:
+1. [Stream Load](../import-way/stream-load-manual.md)
+2. [MySql Load](../import-way/mysql-load-manual.md)
+
+## Stream Load
 Stream Load 用于将本地文件导入到 Doris 中。
 
 不同于其他命令的提交方式,Stream Load 是通过 HTTP 协议与 Doris 进行连接交互的。
@@ -40,7 +46,7 @@ Stream Load 用于将本地文件导入到 Doris 中。
 
 文档最后,我们给出一个使用 Java 导入数据的代码示例
 
-## 导入数据
+### 导入数据
 
 Stream Load 的请求体如下:
 
@@ -105,12 +111,12 @@ PUT /api/{db}/{table}/_stream_load
    - `Status` 字段状态为 `Success` 即表示导入成功。
    - 其他字段的详细介绍,请参阅 [Stream 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/STREAM-LOAD.md)
 命令文档。
 
-## 导入建议
+### 导入建议
 
 - Stream Load 只能导入本地文件。
 - 建议一个导入请求的数据量控制在 1 - 2 GB 以内。如果有大量本地文件,可以分批并发提交。
 
-## Java 代码示例
+### Java 代码示例
 
 这里通过一个简单的 JAVA 示例来执行 Stream Load:
 
@@ -219,3 +225,52 @@ public class DorisStreamLoader {
 >    <version>4.5.13</version>
 ></dependency>
 > ```
+
+## MySql LOAD
+<version since="dev">
+    MySql LOAD样例
+</version>
+
+### 导入数据
+1. 创建一张表
+
+   通过 `CREATE TABLE` 命令在`demo`创建一张表用于存储待导入的数据
+
+   ```sql
+   CREATE TABLE IF NOT EXISTS load_local_file_test
+   (
+   id INT,
+   age TINYINT,
+   name VARCHAR(50)
+   )
+   unique key(id)
+   DISTRIBUTED BY HASH(id) BUCKETS 3;
+   ```
+
+2. 导入数据
+   在MySql客户端下执行以下 SQL 命令导入本地文件:
+
+   ```sql
+   LOAD DATA
+   LOCAL
+   INFILE '/path/to/local/demo.txt'
+   INTO TABLE demo.load_local_file_test
+   ```
+
+   关于 MySQL Load 命令的更多高级操作,请参阅 [MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 命令文档。
+
+3. 等待导入结果
+
+   MySql Load 命令是同步命令,返回成功即表示导入成功。如果导入数据较大,可能需要较长的等待时间。示例如下:
+
+   ```text
+   Query OK, 1 row affected (0.17 sec)
+   Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
+   ```
+
+   - 如果出现上述结果, 则表示导入成功。导入失败, 会抛出错误,并在客户端显示错误原因
+   - 其他字段的详细介绍,请参阅 [MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 命令文档。
+
+### 导入建议
+- MySql Load 只能导入本地文件(可以是客户端本地或者连接的FE节点本地), 而且支持CSV格式。
+- 建议一个导入请求的数据量控制在 1 - 2 GB 以内。如果有大量本地文件,可以分批并发提交。
diff --git 
a/docs/zh-CN/docs/data-operate/import/import-way/mysql-load-manual.md 
b/docs/zh-CN/docs/data-operate/import/import-way/mysql-load-manual.md
new file mode 100644
index 0000000000..efd3529f82
--- /dev/null
+++ b/docs/zh-CN/docs/data-operate/import/import-way/mysql-load-manual.md
@@ -0,0 +1,127 @@
+---
+{
+    "title": "MySql load",
+    "language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# MySql load
+<version since="dev">
+
+该语句兼容MySQL标准的[LOAD 
DATA](https://dev.mysql.com/doc/refman/8.0/en/load-data.html)语法,方便用户导入本地数据,并降低学习成本。
+
+MySql load 同步执行导入并返回导入结果。用户可直接通过SQL返回信息判断本次导入是否成功。
+
+MySql load 主要适用于导入客户端本地文件,或通过程序导入数据流中的数据。
+
+</version>
+
+## 基本原理
+
+MySql Load和Stream Load功能相似, 都是导入本地文件到Doris集群中, 因此MySQL 
Load实现复用了StreamLoad的基础导入能力:
+
+1. FE接收到客户端执行的MySQL Load请求, 完成SQL解析工作
+
+2. FE将Load请求拆解,并封装为StreamLoad的请求.
+
+3. FE选择一个BE节点发送StreamLoad请求
+
+4. 发送请求的同时, FE会异步且流式的从MySQL客户端读取本地文件数据, 并实时的发送到StreamLoad的HTTP请求中.
+
+5. MySQL客户端数据传输完毕, FE等待StreamLoad完成, 并展示导入成功或者失败的信息给客户端.
+
+
+## 支持数据格式
+
+MySQL Load 支持数据格式:CSV(文本)。
+
+## 基本操作举例
+
+### 创建测试表
+```sql
+CREATE TABLE testdb.t1 (pk INT, v1 INT SUM) AGGREGATE KEY (pk) DISTRIBUTED BY 
hash (pk) PROPERTIES ('replication_num' = '1');
+```
+
+### 导入客户端文件
+假设在客户端本地当前路径上有一个CSV文件, 名为`client_local.csv`, 使用MySQL 
LOAD语法将表导入到测试表`testdb.t1`中.
+
+```sql
+LOAD DATA LOCAL
+INFILE 'client_local.csv'
+INTO TABLE testdb.t1
+PARTITION (partition_a, partition_b, partition_c, partition_d)
+COLUMNS TERMINATED BY '\t'
+LINES TERMINATED BY '\n'
+IGNORE 1 LINES
+(k1, k2, v2, v10, v11)
+set (c1=k1,c2=k2,c3=v10,c4=v11)
+PROPERTIES ("strict_mode"="true")
+```
+1. MySQL Load以语法`LOAD DATA`开头, 指定`LOCAL`表示读取客户端文件.
+2. `INFILE`内填写本地文件路径, 可以是相对路径, 也可以是绝对路径.目前只支持单个文件, 不支持多个文件
+3. `INTO TABLE`的表名可以指定数据库名, 如案例所示. 也可以省略, 则会使用当前用户所在的数据库.
+4. `PARTITION`语法支持指定分区导入
+5. `COLUMNS TERMINATED BY`指定列分隔符
+6. `LINES TERMINATED BY`指定行分隔符
+7. `IGNORE num LINES`用户跳过CSV的num表头.
+8. 列映射语法, 具体参数详见[导入的数据转换](../import-scenes/load-data-convert.md) 的列映射章节
+9. `PROPERTIES`导入参数, 具体参数详见[MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 命令手册。
+
+### 导入服务端文件
+假设在FE节点上的`/root/server_local.csv`路径为一个CSV文件, 使用MySQL客户端连接对应的FE节点, 
然后执行一下命令将数据导入到测试表中.
+
+```sql
+LOAD DATA
+INFILE '/root/server_local.csv'
+INTO TABLE testdb.t1
+PARTITION (partition_a, partition_b, partition_c, partition_d)
+COLUMNS TERMINATED BY '\t'
+LINES TERMINATED BY '\n'
+IGNORE 1 LINES
+(k1, k2, v2, v10, v11)
+set (c1=k1,c2=k2,c3=v10,c4=v11)
+PROPERTIES ("strict_mode"="true")
+```
+1. 导入服务端本地文件的语法和导入客户端语法的唯一区别是`LOAD DATA`关键词后面是否加入`LOCAL`关键字.
+2. FE为多节点部署, 导入服务端文件功能只能够导入客户端连接的FE节点, 无法导入其他FE节点本地的文件.
+3. 服务端导入默认是关闭, 通过设置FE的配置`mysql_load_server_secure_path`开启, 
导入文件的必须在该目录下.建议在`DORIS_HOME`目录下创建一个`local_import_data`目录用于导入数据.
+
+### 返回结果
+
+由于 MySQL load 是一种同步的导入方式,所以导入的结果会通过SQL语法返回给用户。
+如果导入执行失败, 会展示具体的报错信息. 如果导入成功, 则会显示导入的行数.
+
+```text
+Query OK, 1 row affected (0.17 sec)
+Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
+```
+
+## 注意事项
+
+1. 如果客户端出现`LOAD DATA LOCAL INFILE file request rejected due to restrictions on 
access`错误, 需要用`mysql  --local-infile=1`命令来打开客户端的导入功能.
+
+2. MySQL Load的导入会受到StreamLoad的配置项限制, 
例如BE支持的StreamLoad最大文件量受`streaming_load_max_mb`控制, 默认为10GB.
+
+## 更多帮助
+
+1. 关于 MySQL Load 使用的更多详细语法及最佳实践,请参阅 [MySQL 
Load](../../../sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md)
 命令手册。
+
diff --git a/docs/zh-CN/docs/data-operate/import/load-manual.md 
b/docs/zh-CN/docs/data-operate/import/load-manual.md
index ab4407ebb1..122d71c8c2 100644
--- a/docs/zh-CN/docs/data-operate/import/load-manual.md
+++ b/docs/zh-CN/docs/data-operate/import/load-manual.md
@@ -53,6 +53,7 @@ Doris 提供多种数据导入方案,可以针对不同的数据源进行选
 | Binlog Load  | [采集Mysql Binlog 导入数据](./import-way/binlog-load-manual.md) |
 | Insert Into  | [外部表通过INSERT方式导入数据](./import-way/insert-into-manual.md) |
 | S3 Load      | [S3协议的对象存储数据导入](./import-way/s3-load-manual.md) |
+| MySQL Load   | [MySQL客户端导入本地数据](./import-way/mysql-load-manual.md) |
 
 ## 支持的数据格式
 
@@ -63,6 +64,7 @@ Doris 提供多种数据导入方案,可以针对不同的数据源进行选
 | Broker Load  | parquet、orc、csv、gzip |
 | Stream Load  | csv、json、parquet、orc |
 | Routine Load | csv、json               |
+| MySQL Load   | csv                    |
 
 ## 导入说明
 
diff --git 
a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
 
b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
new file mode 100644
index 0000000000..8e78a6d074
--- /dev/null
+++ 
b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Load/MYSQL-LOAD.md
@@ -0,0 +1,168 @@
+---
+{
+    "title": "MYSQL-LOAD",
+    "language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## MYSQL-LOAD
+
+### Name
+<version since="dev">
+    MYSQL LOAD
+</version>
+
+### Description
+
+mysql-load: 使用MySql客户端导入本地数据
+
+```
+LOAD DATA
+[LOCAL]
+INFILE 'file_name'
+INTO TABLE tbl_name
+[PARTITION (partition_name [, partition_name] ...)]
+[COLUMNS TERMINATED BY 'string']
+[LINES TERMINATED BY 'string']
+[IGNORE number {LINES | ROWS}]
+[(col_name_or_user_var [, col_name_or_user_var] ...)]
+[SET (col_name={expr | DEFAULT} [, col_name={expr | DEFAULT}] ...)]
+[PROPERTIES (key1 = value1 [, key2=value2]) ]
+```
+
+该语句用于向指定的 table 导入数据,与普通Load区别是,这种导入方式是同步导入。
+
+这种导入方式仍然能够保证一批导入任务的原子性,要么全部数据导入成功,要么全部失败。
+
+1. MySQL Load以语法`LOAD DATA`开头, 无须指定LABEL
+2. 指定`LOCAL`表示读取客户端文件.不指定表示读取FE服务端本地文件. 导入FE本地文件的功能默认是关闭的, 
需要在FE节点上设置`mysql_load_server_secure_path`来指定安全路径, 才能打开该功能.
+3. `INFILE`内填写本地文件路径, 可以是相对路径, 也可以是绝对路径.目前只支持单个文件, 不支持多个文件
+4. `INTO TABLE`的表名可以指定数据库名, 如案例所示. 也可以省略, 则会使用当前用户所在的数据库.
+5. `PARTITION`语法支持指定分区导入
+6. `COLUMNS TERMINATED BY`指定列分隔符
+7. `LINES TERMINATED BY`指定行分隔符
+8. `IGNORE num LINES`用户跳过CSV的表头, 可以跳过任意行数. 该语法也可以用`IGNORE num ROWS`代替
+9. 列映射语法, 
具体参数详见[导入的数据转换](../../../data-operate/import/import-way/mysql-load-manual.md) 
的列映射章节
+10. `PROPERTIES`参数配置, 详见下文
+
+### PROPERTIES
+
+1. max_filter_ratio:最大容忍可过滤(数据不规范等原因)的数据比例。默认零容忍。
+
+2. timeout: 指定导入的超时时间。单位秒。默认是 600 秒。可设置范围为 1 秒 ~ 259200 秒。
+
+3. strict_mode: 用户指定此次导入是否开启严格模式,默认为关闭。
+
+4. timezone: 指定本次导入所使用的时区。默认为东八区。该参数会影响所有导入涉及的和时区有关的函数结果。
+
+5. exec_mem_limit: 导入内存限制。默认为 2GB。单位为字节。
+
+### Example
+
+1. 将客户端本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表。指定超时时间为 100 秒
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("timeout"="100")
+    ```
+
+2. 
将服务端本地文件'/root/testData'(需设置FE配置`mysql_load_server_secure_path`为`/root`)中的数据导入到数据库'testDb'中'testTbl'的表。指定超时时间为
 100 秒
+
+    ```sql
+    LOAD DATA
+    INFILE '/root/testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("timeout"="100")
+    ```
+
+3. 将客户端本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表, 允许20%的错误率
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+4. 将客户端本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表, 允许20%的错误率,并且指定文件的列名
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    (k2, k1, v1)
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+5. 将本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表中的p1, p2分区, 允许20%的错误率。
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    PARTITION (p1, p2)
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("max_filter_ratio"="0.2")
+    ```
+
+6. 将本地行分隔符为`0102`,列分隔符为`0304`的CSV文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表中。
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    COLUMNS TERMINATED BY '0304'
+    LINES TERMINATED BY '0102'
+    ```
+
+7. 将本地文件'testData'中的数据导入到数据库'testDb'中'testTbl'的表中的p1, p2分区, 并跳过前面3行。
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    PARTITION (p1, p2)
+    INTO TABLE testDb.testTbl
+    IGNORE 1 LINES
+    ```
+
+8. 导入数据进行严格模式过滤,并设置时区为 Africa/Abidjan
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("strict_mode"="true", "timezone"="Africa/Abidjan")
+    ```
+
+9. 导入数据进行限制导入内存为10GB, 并在10分钟超时
+
+    ```sql
+    LOAD DATA LOCAL
+    INFILE 'testData'
+    INTO TABLE testDb.testTbl
+    PROPERTIES ("exec_mem_limit"="10737418240", "timeout"="600")
+    ```
+
+### Keywords
+
+    MYSQL, LOAD


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to