{"id":26664,"date":"2025-07-15T18:24:19","date_gmt":"2025-07-16T01:24:19","guid":{"rendered":"https:\/\/tdengine.com\/?p=26664"},"modified":"2025-09-08T16:34:06","modified_gmt":"2025-09-08T23:34:06","slug":"replicate-data-from-mysql-to-tdengine","status":"publish","type":"post","link":"https:\/\/tdengine.com\/replicate-data-from-mysql-to-tdengine\/","title":{"rendered":"Replicate Data from MySQL to TDengine"},"content":{"rendered":"\n<p>MySQL is one of the most popular relational databases, and many enterprises are using MySQL databases to store data collected from IIoT devices. However, as the number of devices in the environment grows and the demand for real-time data feedback increases, it becomes difficult for MySQL to meet business needs. TDengine can efficiently read data from MySQL and write it into TDengine, enabling migration of historical data as well as synchronization of real-time data.<\/p>\n\n\n\n<figure class=\"gb-element-699fd38c\">\n<img decoding=\"async\" width=\"2887\" height=\"552\" class=\"gb-media-b9e7d84d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-arch-new\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1 2887w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new-300x57.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new-1024x196.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new-768x147.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new-1536x294.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new-2048x392.png?strip=all&amp;sharp=1 2048w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=577 577w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=1154 1154w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=1732 1732w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=2309 2309w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=450 450w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-arch-new.png?strip=all&amp;sharp=1&amp;w=1920 1920w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n<\/figure>\n\n\n\n<h2 class=\"gb-text\">System Comparison<\/h2>\n\n\n\n<p>While MySQL is a well-loved general-purpose database, there are situations where enterprises are better served by deploying a specialized time-series database. The following table describes the abilities of each system in a time-series data context.<\/p>\n\n\n\n<table id=\"tablepress-101\" class=\"tablepress tablepress-id-101\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">TDengine<\/th><th class=\"column-3\">MySQL<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Write Throughput<\/td><td class=\"column-2\">High (optimized for time-series inserts)<\/td><td class=\"column-3\">Medium (can bottleneck at high volume)<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Time-Based Query Speed<\/td><td class=\"column-2\">High (native optimizations)<\/td><td class=\"column-3\">Medium<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Storage Efficiency<\/td><td class=\"column-2\">High (compression + columnar storage)<\/td><td class=\"column-3\">Medium<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Retention Policy Management<\/td><td class=\"column-2\">High (TTL built-in)<\/td><td class=\"column-3\">Low (manual setup required)<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Scalability<\/td><td class=\"column-2\">High (horizontal scaling)<\/td><td class=\"column-3\">Medium (vertical scaling, complex sharding)<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">SQL Support<\/td><td class=\"column-2\">High (familiar syntax, time-series extensions)<\/td><td class=\"column-3\">High (full SQL support and tooling)<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">Ecosystem &amp; Tooling<\/td><td class=\"column-2\">Medium (growing integrations)<\/td><td class=\"column-3\">High (mature, widely supported)<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">Talent Availability<\/td><td class=\"column-2\">Medium (specialized skillset)<\/td><td class=\"column-3\">High (widely known and adopted)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-101 from cache -->\n\n\n<h2 class=\"gb-text\">Should You Make the Switch?<\/h2>\n\n\n\n<p>If you are facing any of the following challenges, consider migrating from MySQL to TDengine:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your application generates high volumes of time-series data and MySQL can&#8217;t keep up with write performance or storage demands.<\/li>\n\n\n\n<li>You have encountered scaling limitations with MySQL and need a lightweight, horizontally scalable solution to handle growing data and device scale.<\/li>\n\n\n\n<li>You need fast, efficient time-based queries (like rollups or aggregations) and MySQL queries are becoming slow or complex to manage.<\/li>\n\n\n\n<li>You want features like data compression, automatic retention, and real-time analytics to be available out of the box without relying on external tools or manual workarounds.<\/li>\n<\/ul>\n\n\n\n<p>TDengine offers a purpose-built solution with built-in compression, fast ingestion, and automatic data lifecycle management. As your dataset grows and real-time analytics becomes critical, TDengine can deliver significantly better performance and lower costs compared to retrofitting MySQL for time-series workloads.<\/p>\n\n\n\n<p>The following procedure shows how to use TDengine Enterprise&#8217;s zero-code data connector to quickly replicate your MySQL data to our system.<\/p>\n\n\n\n<h2 class=\"gb-text\">Replicate Data from MySQL to TDengine<\/h2>\n\n\n\n<ol>\n<li>\n<p>Log in to TDengine Explorer, open the <strong>Data In<\/strong> tab, and click <strong>Add Source<\/strong>.<\/p>\n\n\n\n<img decoding=\"async\" width=\"1912\" height=\"322\" class=\"gb-media-4aaa52a5\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-01\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01.png?strip=all&amp;sharp=1 1912w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01-300x51.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01-1024x172.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01-768x129.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01-1536x259.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01.png?strip=all&amp;sharp=1&amp;w=382 382w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01.png?strip=all&amp;sharp=1&amp;w=1147 1147w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-01.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Configure basic information as follows:<\/p>\n\n\n\n<ol>\n<li>\n<p><strong>Name:<\/strong> Enter a unique name for the data replication task.<\/p>\n<\/li>\n\n\n\n<li>\n<p><strong>Type:<\/strong> Select MySQL.<\/p>\n<\/li>\n\n\n\n<li>\n<p>(Optional) <strong>Agent:<\/strong>  If needed, select an existing agent from the dropdown menu or click <strong>Create New Agent<\/strong>.<\/p>\n<\/li>\n\n\n\n<li>\n<p><strong>Target<\/strong>: Specify the TDengine database to which you want to write data from MySQL. If you do not have a database prepared, click <strong>Create Database<\/strong>.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<img decoding=\"async\" width=\"821\" height=\"244\" class=\"gb-media-129e8c37\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-02\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02.png?strip=all&amp;sharp=1 821w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02-300x89.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02-768x228.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02.png?strip=all&amp;sharp=1&amp;w=164 164w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02.png?strip=all&amp;sharp=1&amp;w=492 492w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-02.png?strip=all&amp;sharp=1&amp;w=656 656w\" sizes=\"(max-width: 821px) 100vw, 821px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Under <strong>Connection Configuration<\/strong>, enter the hostname and port number of your MySQL deployment along with the MySQL database that you want to replicate to TDengine.<\/p>\n\n\n\n<img decoding=\"async\" width=\"945\" height=\"226\" class=\"gb-media-702985b4\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-03\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&amp;sharp=1 945w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03-300x72.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03-768x184.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&amp;sharp=1&amp;w=189 189w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&amp;sharp=1&amp;w=378 378w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&amp;sharp=1&amp;w=567 567w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-03.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 945px) 100vw, 945px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Under <strong>Authentication Information<\/strong>, enter the username and password with which you want to connect to MySQL. The user you specify must have read permissions in the organization.<\/p>\n\n\n\n<img decoding=\"async\" width=\"942\" height=\"254\" class=\"gb-media-789841a0\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-04\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&amp;sharp=1 942w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04-300x81.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04-768x207.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&amp;sharp=1&amp;w=188 188w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&amp;sharp=1&amp;w=376 376w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&amp;sharp=1&amp;w=565 565w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-04.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 942px) 100vw, 942px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Configure connection options as follows:<\/p>\n\n\n\n<ol>\n<li>\n<p><strong>Character Set<\/strong>: Set the character set for the connection. The default character set is utf8mb4. MySQL 5.5.3 supports this feature. If connecting to an older version, it is recommended to change to utf8. Options include utf8, utf8mb4, utf16, utf32, gbk, big5, latin1, ascii.<\/p>\n<\/li>\n\n\n\n<li>\n<p><strong>SSL Mode<\/strong>: Set whether to negotiate a secure SSL TCP\/IP connection with the server or the priority of negotiation. The default value is PREFERRED. Options include DISABLED, PREFERRED, REQUIRED.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<img decoding=\"async\" width=\"940\" height=\"252\" class=\"gb-media-7ef9892f\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-05\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&amp;sharp=1 940w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05-300x80.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05-768x206.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&amp;sharp=1&amp;w=188 188w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&amp;sharp=1&amp;w=376 376w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&amp;sharp=1&amp;w=564 564w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-05.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 940px) 100vw, 940px\" \/>\n\n\n\n<p>Then click <strong>Check Connection<\/strong> to verify that you can obtain data from the source MySQL database.<\/p>\n<\/li>\n\n\n\n<li>\n<p>Configure the SQL query as follows:<\/p>\n\n\n\n<p><strong>Subtable Field<\/strong> is used to split subtables. It is a select distinct SQL statement that queries non-repeated items of specified field combinations, usually corresponding to the tag in transform:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This configuration is mainly to solve the problem of data migration disorder, and it needs to be used together with <strong>SQL Template<\/strong>, otherwise it cannot achieve the expected effect, usage examples are as follows:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Fill in the subtable field statement <code class=\"\" data-line=\"\">select distinct col_name1, col_name2 from table<\/code>, which means using the fields col_name1 and col_name2 in the source table to split the subtables of the target supertable<\/li>\n\n\n\n<li>Add subtable field placeholders in the <strong>SQL Template<\/strong>, for example, the <code class=\"\" data-line=\"\">${col_name1} and ${col_name2}<\/code> part in <code class=\"\" data-line=\"\">select * from table where ts &gt;= ${start} and ts &lt; ${end} and ${col_name1} and ${col_name2}<\/code><\/li>\n\n\n\n<li>Configure <code class=\"\" data-line=\"\">col_name1<\/code> and <code class=\"\" data-line=\"\">col_name2<\/code> two tag mappings in <strong>transform<\/strong><\/li>\n<\/ol>\n<\/blockquote>\n\n\n\n<p><strong>SQL Template<\/strong> is the SQL statement template used for querying data. The SQL statement must include time range conditions, and the start and end times must appear in pairs. The time range defined in the SQL statement template consists of a column representing time in the source database and the placeholders defined below.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>SQL uses different placeholders to represent different time format requirements, specifically the following placeholder formats:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">${start}<\/code>, <code class=\"\" data-line=\"\">${end}<\/code>: Represents RFC3339 format timestamps, e.g.: 2024-03-14T08:00:00+0800<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">${start_no_tz}<\/code>, <code class=\"\" data-line=\"\">${end_no_tz}<\/code>: Represents RFC3339 strings without timezone: 2024-03-14T08:00:00<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">${start_date}<\/code>, <code class=\"\" data-line=\"\">${end_date}<\/code>: Represents date only, e.g.: 2024-03-14<\/li>\n<\/ol>\n\n\n\n<p>To solve the problem of data migration disorder, it is advisable to add sorting conditions in the query statement, such as <code class=\"\" data-line=\"\">order by ts asc<\/code>.<\/p>\n<\/blockquote>\n\n\n\n<p><strong>Start Time<\/strong>: The start time for migrating data, this field is required.<\/p>\n\n\n\n<p><strong>End Time<\/strong>: The end time for migrating data, which can be left blank. If set, the migration task will stop automatically after reaching the end time; if left blank, it will continuously synchronize real-time data and the task will not stop automatically.<\/p>\n\n\n\n<p><strong>Query Interval<\/strong>: The time interval for querying data in segments, default is 1 day. To avoid querying a large amount of data at once, a data synchronization sub-task will use the query interval to segment the data retrieval.<\/p>\n\n\n\n<p><strong>Delay Duration<\/strong>: In real-time data synchronization scenarios, to avoid losing data due to delayed writes, each synchronization task will read data from before the delay duration.<\/p>\n\n\n\n<img decoding=\"async\" width=\"800\" height=\"341\" class=\"gb-media-e60c114a\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-06\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06.png?strip=all&amp;sharp=1 800w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06-300x128.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06-768x327.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06.png?strip=all&amp;sharp=1&amp;w=160 160w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06.png?strip=all&amp;sharp=1&amp;w=480 480w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-06.png?strip=all&amp;sharp=1&amp;w=640 640w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Configure data mapping as follows:<\/p>\n\n\n\n<p>Click the <strong>Retrieve from Server<\/strong> button to fetch sample data from the MySQL server.<\/p>\n\n\n\n<p>In <strong>Extract or Split from Column<\/strong>, fill in the fields to extract or split from the message body, for example: split the <code class=\"\" data-line=\"\">vValue<\/code> field into <code class=\"\" data-line=\"\">vValue_0<\/code> and <code class=\"\" data-line=\"\">vValue_1<\/code>, select the split extractor, fill in the separator <code class=\"\" data-line=\"\">,<\/code>, and number <code class=\"\" data-line=\"\">2<\/code>.<\/p>\n\n\n\n<p>In <strong>Filter<\/strong>, fill in the filtering conditions, for example: write <code class=\"\" data-line=\"\">Value &gt; 0<\/code>, then only data where Value is greater than 0 will be written to TDengine.<\/p>\n\n\n\n<p>In <strong>Mapping<\/strong>, select the supertable in TDengine to map to, and the columns to map to the supertable.<\/p>\n\n\n\n<p>Click <strong>Preview<\/strong> to view the results of the mapping.<\/p>\n\n\n\n<img decoding=\"async\" width=\"1893\" height=\"1050\" class=\"gb-media-23f71c00\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07.jpg?strip=all&sharp=1\" alt=\"\" title=\"mysql-07\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07.jpg?strip=all&amp;sharp=1 1893w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07-300x166.jpg?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07-1024x568.jpg?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07-768x426.jpg?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07-1536x852.jpg?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07.jpg?strip=all&amp;sharp=1&amp;w=378 378w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07.jpg?strip=all&amp;sharp=1&amp;w=1135 1135w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-07.jpg?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n<\/li>\n\n\n\n<li>\n<p>(Optional) Configure advanced options as follows:<\/p>\n\n\n\n<ol>\n<li>\n<p><strong>Maximum Read Concurrency<\/strong>: The limit on the number of data source connections or reading threads, modify this parameter when the default parameters do not meet the needs or when adjusting resource usage.<\/p>\n<\/li>\n\n\n\n<li>\n<p><strong>Batch Size<\/strong>: The maximum number of messages or rows sent at once. The default is 10000.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<img decoding=\"async\" width=\"949\" height=\"287\" class=\"gb-media-41c63d13\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&sharp=1\" alt=\"\" title=\"mysql-08\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&amp;sharp=1 949w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08-300x91.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08-768x232.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&amp;sharp=1&amp;w=189 189w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&amp;sharp=1&amp;w=379 379w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&amp;sharp=1&amp;w=569 569w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/mysql-08.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 949px) 100vw, 949px\" \/>\n<\/li>\n\n\n\n<li>\n<p>Click <strong>Submit<\/strong> to complete the creation of the data replication task from MySQL to TDengine, and return to the <strong>Data Source List<\/strong> page to view the task execution status.<\/p>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>TDengine can efficiently read data from MySQL and write it into TDengine, enabling migration of historical data as well as synchronization of real-time data.<\/p>\n","protected":false},"author":102,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[21],"tags":[],"ppma_author":[181],"class_list":["post-26664","post","type-post","status-publish","format-standard","hentry","category-engineering"],"authors":[{"term_id":181,"user_id":102,"is_guest":0,"slug":"tdengine-team","display_name":"TDengine Team","avatar_url":{"url":"https:\/\/tdengine.com\/wp-content\/uploads\/29.03-01-tdengine.png","url2x":"https:\/\/tdengine.com\/wp-content\/uploads\/29.03-01-tdengine.png"},"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/26664","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/users\/102"}],"replies":[{"embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/comments?post=26664"}],"version-history":[{"count":6,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/26664\/revisions"}],"predecessor-version":[{"id":26882,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/26664\/revisions\/26882"}],"wp:attachment":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/media?parent=26664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/categories?post=26664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/tags?post=26664"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/ppma_author?post=26664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}