91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL 8.0/8.4執(zhí)行DDL丟數(shù)據(jù)有什么影響

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 2024-12-24 09:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問(wèn)題是有,但好在規(guī)避辦法也比較簡(jiǎn)單,影響也有限。

先說(shuō)解決辦法,從簡(jiǎn)單到麻煩:

執(zhí)行 ALTER TABLE 時(shí),顯式指定ALGORITHM=INSTANT/COPY,反正不要使用 INPLACE。

適當(dāng)調(diào)大 innodb_ddl_buffer_size 參數(shù)值,其默認(rèn)值1MB,例如調(diào)大到100MB就可以應(yīng)對(duì)大部分業(yè)務(wù)表的DDL操作場(chǎng)景。

利用 pt-osc 或 gh-ost 等工具進(jìn)行 Online DDL 操作。

在業(yè)務(wù)低谷時(shí)段執(zhí)行DDL操作,有條件的話甚至可以在業(yè)務(wù)維護(hù)期間再執(zhí)行DDL操作。

升級(jí)版本到已修復(fù)的 Percona 分支版本(下文會(huì)提到)。

問(wèn)題來(lái)源

在 MySQL 8.0.27 版本中新增并行DDL功能后才“引入”了這個(gè)問(wèn)題。目前在最新的 8.1.x/8.3.x/8.3.x/8.4.x/9.0.x/9.1.x 等版本中依然存在,預(yù)計(jì)到 MySQL 8.0.41 新版本會(huì)修復(fù)。

For online DDL operations, storage is usually the bottleneck. To address this issue, CPU utilization and index building has been improved. Indexes can now be built simultaneously instead of serially. Memory management has also been tightened to respect memory configuration limits set by the user.

詳見(jiàn):https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-27.html

觸發(fā)原因:在INPLACE模式的DDL操作中重建主鍵索引時(shí),因錯(cuò)誤處理會(huì)略過(guò)部分記錄,導(dǎo)致數(shù)據(jù)丟失。

觸發(fā)條件:只影響INPLACE模式的DDL操作,不影響COPY和INSTANT模式的DDL操作。以下是幾種常見(jiàn)的可能觸發(fā)問(wèn)題的DDL操作場(chǎng)景:

場(chǎng)景1:ALTER TABLE ENGINE=INNODB 重整表空間操作,需要重建主鍵索引。

場(chǎng)景2:ALTER TABLE ADD NEW-COL ...,ALGORITHM=INPLACE,新增列操作,因指定了INPLACE模式,需要重建主鍵索引。

其他例如INSTANT模式加新字段,增刪索引則不會(huì)觸發(fā)該問(wèn)題。

關(guān)于該問(wèn)題的詳細(xì)解讀詳見(jiàn)幾篇文章:

八怪老師推文 https://www.jianshu.com/p/c66fe0349345?v=1734349439280 。

Rex老師推文 MySQL 8.4-LTS DDL會(huì)導(dǎo)致數(shù)據(jù)丟失。

丁奇老師推文 丟數(shù)據(jù)風(fēng)險(xiǎn) @ MySQL官方最新版。

Percona 推文 Who Ate My MySQL Table Rows?。

涉及到2個(gè)MySQL bug:

DDL 丟數(shù)風(fēng)險(xiǎn):https://bugs.mysql.com/bug.php?id=115608

DDL 重復(fù)行報(bào)錯(cuò):https://bugs.mysql.com/bug.php?id=115511

該問(wèn)題核心就存在于如果涉及到需要用INPLACE算法重建主鍵索引的DDL操作,就需要在 innodb_ddl_buffer_size 用滿后直接插入到 #sql-ibXXX 數(shù)據(jù)文件中,這個(gè)時(shí)候可能正在page的中間的某個(gè)位置,插入的時(shí)候會(huì)暫時(shí)放棄page上的mutex,并且保存游標(biāo)到持久游標(biāo),然后插入數(shù)據(jù),插入完成后再?gòu)某志糜螛?biāo)恢復(fù)游標(biāo)。這樣做的目的可能是為了提高page修改的并發(fā),但是這里保存和恢復(fù)持久游標(biāo)卻出了問(wèn)題,主要是page中的數(shù)據(jù)可能出現(xiàn)修改,這種修改對(duì)應(yīng)了前面的2個(gè)BUG:

Purge線程,清理del flag。

其他線程INSERT了數(shù)據(jù)。

具體游標(biāo)的保存和恢復(fù)出現(xiàn)的問(wèn)題,可以參考Rex老師的文章 MySQL 8.4-LTS DDL會(huì)導(dǎo)致數(shù)據(jù)丟失。

問(wèn)題影響

目前該問(wèn)題已知影響的版本列表如下:

MySQL 8.0.x 系列版本中,所有 >= 8.0.27 的 MySQL 8.0.x 版本;

所有 8.4.x 系列 LTS 版本;

Percona Server for MySQL 中從 8.0.27-18 至 8.0.37-29,以及 8.4.0-1 版本。

Percona XtraDB Cluster 中從 8.0.27-18.1 至 8.0.37-29,以及 8.4.0-1 版本。

未受影響或已修復(fù)的版本列表如下:

所有早于 MySQL 8.0 的版本,及 MySQL 5.6、5.7 等版本,以及 Percona 5.6、5.7 版本;

Percona 8.0 系列中 8.0.39-30 及更高版本;

Percona 8.4 系列中 8.4.2-2 及更高版本;

Percona XtraDB Cluster 8.0 系列中 8.0.39-30 及更高版本。

目前所有活躍的 MySQL 版本均未修復(fù),已安排在MySQL 8.0.41版本修復(fù)該問(wèn)題。GreatSQL也會(huì)在下一個(gè)新版本中修復(fù)該問(wèn)題。

問(wèn)題復(fù)現(xiàn)/模擬

模擬測(cè)例1

經(jīng)過(guò)測(cè)試,該問(wèn)題觸發(fā)概率和 update/delete 并發(fā)負(fù)載有關(guān),結(jié)合 MySQL bug #113812 提供的案例,我進(jìn)行了簡(jiǎn)化和改造,測(cè)試用例如下:

#/bin/sh
#bugtest.sh,測(cè)例1
#需要先安裝mysql_random_data_load測(cè)試工具
#通過(guò)socket方式連接MySQL時(shí)用root密碼并且是空密碼
MYSQL="mysql-N-s-uroot-S/data/MySQL/mysql.sock"
HOST=127.0.0.1
PORT=3306
USER="yejr"
PWD="yejr"

echo"1.Preparework"

read-r-d''bugSQL<<-EOSQL?||?true
CREATE?DATABASE?IF?NOT?EXISTS?test;
USE?test;
DROP?TABLE?IF?EXISTS?t1;
CREATE?TABLE?IF?NOT?EXISTS?t1(
?id?int?not?null,
?c1?varchar(20)?not?null,
?c2?varchar(30)?not?null,
?c3?datetime?not?null,
?c4?varchar(30)?not?null,
?PRIMARY?KEY?(id),
?KEY?idx_c3?(c3)
)?ENGINE=InnoDB;

CREATE?USER?IF?NOT?EXISTS?'${USER}'@'%';
ALTER?USER?'${USER}'@'%'?IDENTIFIED?BY?'${PWD}';
GRANT?ALL?PRIVILEGES?ON?test.t1?TO?'${USER}'@'%';
EOSQL

${MYSQL}?-f?-e?"${bugSQL}"

echo?"2.?Starting?run?test"

${MYSQL}?-e?"truncate?table?test.t1;"

for?i?in?{1..1000}
do
?mysql_random_data_load?-u${USER}?-p${PWD}?-h${HOST}?-P${PORT}?--max-threads=2?test?t1?1000?>/dev/null2>&1
c_before_del=`${MYSQL}-e"selectcount(*)fromtest.t1;"`
c_delete=`${MYSQL}-e"selectcount(*)fromtest.t1wherec3

執(zhí)行該測(cè)試用例腳本,當(dāng)發(fā)現(xiàn)有問(wèn)題時(shí),結(jié)果顯式如下:

$sh./bugtest.sh
1.Preparework
2.Startingruntest
run10times
run20times
run30times
...
run175times,delete:979,beforealter:3436,afteralter:3435

這就表示執(zhí)行到第175次后觸發(fā)問(wèn)題,發(fā)現(xiàn)丟了一條記錄。在這個(gè)測(cè)例中,如果加大 innodb_ddl_buffer_size 參數(shù)值到10MB,則不再觸發(fā)問(wèn)題。

模擬測(cè)例2

對(duì)上面的測(cè)試用例再進(jìn)行調(diào)整后,改成下面這個(gè)測(cè)例,在執(zhí)行完1000次后仍未觸發(fā)問(wèn)題(可見(jiàn)并不總是會(huì)觸發(fā)問(wèn)題,只有個(gè)別情況下會(huì)踩雷):

#!/bin/sh
#bugtest.sh,測(cè)例2
#需要先安裝mysql_random_data_load測(cè)試工具
#通過(guò)socket方式連接MySQL時(shí)用root密碼并且是空密碼
MYSQL="mysql-N-s-uroot-S/nvme/GreatSQL/mysql.sock"
HOST=127.0.0.1
PORT=3306
USER="yejr"
PWD="yejr"

echo"1.Preparework"

read-r-d''bugSQL<<-EOSQL?||?true
CREATE?DATABASE?IF?NOT?EXISTS?test;
USE?test;
DROP?TABLE?IF?EXISTS?t1;
CREATE?TABLE?IF?NOT?EXISTS?t1(
?id?int?not?null,
?c1?varchar(20)?not?null,
?c2?varchar(30)?not?null,
?c3?int?not?null,
?c4?varchar(30)?not?null,
?PRIMARY?KEY?(id),
?KEY?idx_c3?(c3)
)?ENGINE=InnoDB;

CREATE?USER?IF?NOT?EXISTS?'${USER}'@'%';
ALTER?USER?'${USER}'@'%'?IDENTIFIED?BY?'${PWD}';
GRANT?ALL?PRIVILEGES?ON?test.t1?TO?'${USER}'@'%';
EOSQL

${MYSQL}?-f?-e?"${bugSQL}"

echo?"2.?Starting?run?test"

${MYSQL}?-e?"truncate?table?test.t1;"

for?i?in?{1..300}
do
?mysql_random_data_load?-u${USER}?-p${PWD}?-h${HOST}?-P${PORT}?--max-threads=2?test?t1?1000?>/dev/null2>&1
c_before_del=`${MYSQL}-e"selectcount(*)fromtest.t1;"`
${MYSQL}-e"deletefromtest.t1LIMIT980;"
c_before_alter=`${MYSQL}-e"selectcount(*)fromtest.t1;"`
${MYSQL}-e"altertabletest.t1engine=innodb;"
c_after_alter=`${MYSQL}-e"selectcount(*)fromtest.t1;"`
if[${c_before_alter}-ne${c_after_alter}];then
echo"run${i}times,beforealter:${c_before_alter},afteralter:${c_after_alter}"
exit
fi
if[`expr${i}%10`-eq0];then
echo"run${i}times"
fi
done

從多次反復(fù)測(cè)試的結(jié)果來(lái)看,大致的規(guī)律是當(dāng)執(zhí)行 ALTER TABLE 操作特別頻繁時(shí),就可能會(huì)在表重建時(shí)遇到被 Purge 的記錄還沒(méi)來(lái)得及被抹掉,這就比較容易觸發(fā)問(wèn)題。試著把上面的測(cè)例1做些微調(diào),把 ALTER TABLE 這部分的處理邏輯修改成下面這樣:

...
47if[`expr${i}%20`-eq0];then
48sleep2
49${MYSQL}-e"altertabletest.t1engine=innodb;"
50fi
...

即每完成20輪測(cè)試后再執(zhí)行 ALTER TABLE 操作,并且在此之前還要先休眠等待2秒。改用新邏輯后,就沒(méi)再觸發(fā)問(wèn)題。

模擬測(cè)例3

提示:該測(cè)例需要改成MySQL debug版本運(yùn)行(平時(shí)使用的是release二進(jìn)制包,是無(wú)法復(fù)現(xiàn)的)。

準(zhǔn)備測(cè)試數(shù)據(jù)

CREATETABLEt1(pkCHAR(5)PRIMARYKEY);
INSERTINTOt1VALUES('aaaaa'),('bbbbb'),('bbbcc'),('ccccc'),('ddddd'),('eeeee');

測(cè)試方法

S1 S2
這一步的目的是2行數(shù)據(jù)key buffer就滿
SET DEBUG='+d,ddl_buf_add_two';
set global innodb_purge_stop_now=ON;
DELETE FROM t1 WHERE pk = 'bbbcc';
進(jìn)行DDL,并且來(lái)到ddl0par-scan.cc:238 行
ALTER TABLE t1 ENGINE=InnoDB, ALGORITHM=INPLACE
SET GLOBAL innodb_purge_run_now=ON;
DDL繼續(xù)進(jìn)程(丟數(shù)據(jù))

測(cè)試結(jié)果

285831a8-c0df-11ef-9310-92fbcf53809c.jpg

寫在后面

在線上生產(chǎn)環(huán)境中,除了必要的增刪字段、增刪索引、修改字段定義外,直接執(zhí)行 ALTER TABLE ... ENGINE=InnoDB 或 OPTIMIZE TABLE 重建整個(gè)表空間的行為還是比較少的,尤其是操作大表時(shí),也基本上都習(xí)慣了用類似 gt-osc 之類的第三方輔助工具來(lái)完成。

此外,調(diào)大 innodb_ddl_buffer_size 參數(shù)值也可以應(yīng)對(duì)大部分業(yè)務(wù)表的DDL操作需求,在我的測(cè)試中,調(diào)大到10MB就可以保證上述測(cè)試表有幾十萬(wàn)行數(shù)據(jù)時(shí)不出問(wèn)題,調(diào)大到100MB則可以保證上述測(cè)試表有千萬(wàn)行數(shù)據(jù)時(shí)不出問(wèn)題。如果是更大、更寬的表就需要進(jìn)一步測(cè)試驗(yàn)證了。

總的來(lái)看,這個(gè)問(wèn)題在線上生產(chǎn)環(huán)境中并不是百分百會(huì)觸發(fā),只是存在一定較低的幾率,在文章一開(kāi)始也提到了幾個(gè)可以規(guī)避的方法,所以說(shuō)其影響其實(shí)也是有限的,不必過(guò)于緊張。先采用緊急辦法規(guī)避問(wèn)題,后面再擇機(jī)升級(jí)版本就好。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    906

    瀏覽量

    29534
  • DDL
    DDL
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    6558

原文標(biāo)題:MySQL 8.0/8.4執(zhí)行DDL會(huì)丟數(shù)據(jù)?是,但影響有限

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫(kù)

    安裝和管理MySQL不必復(fù)雜。只需幾分鐘,你就能在Linux服務(wù)器上搭建MySQL,創(chuàng)建第一個(gè)數(shù)據(jù)庫(kù),甚至自動(dòng)化備份——同時(shí)確保數(shù)據(jù)安全有序。 什么是
    的頭像 發(fā)表于 01-14 14:25 ?178次閱讀

    工業(yè)數(shù)據(jù)中臺(tái)支持接入MySQL數(shù)據(jù)庫(kù)嗎

    工業(yè)數(shù)據(jù)中臺(tái)完全支持接入MySQL數(shù)據(jù)庫(kù) ,且通過(guò)數(shù)據(jù)同步、集成與治理等技術(shù)手段,能夠充分發(fā)揮MySQL
    的頭像 發(fā)表于 12-04 11:23 ?379次閱讀
    工業(yè)<b class='flag-5'>數(shù)據(jù)</b>中臺(tái)支持接入<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)</b>庫(kù)嗎

    Mysql數(shù)據(jù)恢復(fù)—Windows Server下MySQL(InnoDB)全表誤刪數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,操作系統(tǒng)為windows server。服務(wù)器上部署mysql單實(shí)例,innodb引擎,獨(dú)立表空間。未進(jìn)行數(shù)據(jù)庫(kù)備份,未開(kāi)啟binlog。 人為誤操作使用Delete命令刪除數(shù)據(jù)時(shí)未添加where子句,導(dǎo)致全表
    的頭像 發(fā)表于 09-23 15:56 ?737次閱讀
    <b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Windows Server下<b class='flag-5'>MySQL</b>(InnoDB)全表誤刪<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    mysql數(shù)據(jù)恢復(fù)—mysql數(shù)據(jù)庫(kù)表被truncate的數(shù)據(jù)恢復(fù)案例

    某云ECS網(wǎng)站服務(wù)器,linux操作系統(tǒng),部署了mysql數(shù)據(jù)庫(kù)。工作人員在執(zhí)行數(shù)據(jù)庫(kù)版本更新測(cè)試時(shí),錯(cuò)誤地將本應(yīng)在測(cè)試庫(kù)執(zhí)行的sql腳本在生產(chǎn)庫(kù)上
    的頭像 發(fā)表于 09-11 09:28 ?875次閱讀
    <b class='flag-5'>mysql</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>mysql</b><b class='flag-5'>數(shù)據(jù)</b>庫(kù)表被truncate的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    CentOS 7下MySQL 8雙主熱備高可用架構(gòu)全解

    MySQL主節(jié)點(diǎn)2 核心邏輯: 通過(guò)Keepalived實(shí)現(xiàn)VIP漂移 雙向GTID同步保證數(shù)據(jù)一致性 雙寫模式需配合應(yīng)用層沖突解決機(jī)制 MySQL 8部署流程 ? 步驟1:官方源配置 wget
    的頭像 發(fā)表于 08-12 17:08 ?830次閱讀

    0.1 至 8.0 GHz SP3T 開(kāi)關(guān) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()0.1 至 8.0 GHz SP3T 開(kāi)關(guān)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有0.1 至 8.0 GHz SP3T 開(kāi)關(guān)的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,0.1 至
    發(fā)表于 08-07 18:31
    0.1 至 <b class='flag-5'>8.0</b> GHz SP3T 開(kāi)關(guān) skyworksinc

    MySQL 8.0性能優(yōu)化實(shí)戰(zhàn)指南

    作為一名運(yùn)維工程師,MySQL數(shù)據(jù)庫(kù)優(yōu)化是我們?nèi)粘9ぷ髦凶罹咛魬?zhàn)性的任務(wù)之一。MySQL 8.0作為當(dāng)前主流版本,在性能、安全性和功能上都有了顯著提升,但如何充分發(fā)揮其潛力,仍需要我們
    的頭像 發(fā)表于 07-24 11:48 ?855次閱讀

    MySQL數(shù)據(jù)備份與恢復(fù)策略

    數(shù)據(jù)是企業(yè)的核心資產(chǎn),MySQL作為主流的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其數(shù)據(jù)的安全性和可靠性至關(guān)重要。本文將深入探討MySQL
    的頭像 發(fā)表于 07-14 11:11 ?734次閱讀

    企業(yè)級(jí)MySQL數(shù)據(jù)庫(kù)管理指南

    在當(dāng)今數(shù)字化時(shí)代,MySQL作為全球最受歡迎的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù),承載著企業(yè)核心業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)與處理。作為數(shù)據(jù)庫(kù)管理員(DBA),掌握MySQL
    的頭像 發(fā)表于 07-09 09:50 ?723次閱讀

    MYSQL集群高可用和數(shù)據(jù)監(jiān)控平臺(tái)實(shí)現(xiàn)方案

    該項(xiàng)目共分為2個(gè)子項(xiàng)目,由MYSQL集群高可用和數(shù)據(jù)監(jiān)控平臺(tái)兩部分組成。
    的頭像 發(fā)表于 05-28 10:10 ?1314次閱讀
    <b class='flag-5'>MYSQL</b>集群高可用和<b class='flag-5'>數(shù)據(jù)</b>監(jiān)控平臺(tái)實(shí)現(xiàn)方案

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是什么?有什么功能?

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是一種用于連接、采集、處理并傳輸數(shù)據(jù)MySQL數(shù)據(jù)庫(kù)的中間設(shè)備或軟件系統(tǒng),通常部署在
    的頭像 發(fā)表于 05-26 15:20 ?666次閱讀

    MySQL數(shù)據(jù)庫(kù)是什么

    MySQL數(shù)據(jù)庫(kù)是一種 開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開(kāi)發(fā),后被Oracle公司收購(gòu)。它通過(guò)結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行
    的頭像 發(fā)表于 05-23 09:18 ?1215次閱讀

    數(shù)據(jù)采集到MYSQL和SQLSERVER數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)哪些功能

    將工業(yè)設(shè)備數(shù)據(jù)采集到MySQL和SQLServer數(shù)據(jù)庫(kù)后,可實(shí)現(xiàn)生產(chǎn)管理、設(shè)備運(yùn)維、決策支持等多維度功能。對(duì)此,數(shù)之能提供多種工業(yè)設(shè)備數(shù)據(jù)采集到數(shù)
    的頭像 發(fā)表于 05-07 15:32 ?590次閱讀

    數(shù)據(jù)比丟錢還讓人頭疼,你遇到過(guò)嗎?

    在產(chǎn)品運(yùn)行過(guò)程中,數(shù)據(jù)丟失是常見(jiàn)的問(wèn)題,尤其在頻繁寫入數(shù)據(jù)的場(chǎng)景中。本文將分析數(shù)據(jù)丟失的原因,并從硬件、系統(tǒng)和軟件優(yōu)化等方面提供解決思路,幫助提升數(shù)據(jù)安全性和系統(tǒng)穩(wěn)定性。
    的頭像 發(fā)表于 04-18 11:36 ?690次閱讀
    <b class='flag-5'>丟</b><b class='flag-5'>數(shù)據(jù)</b>比丟錢還讓人頭疼,你遇到過(guò)嗎?

    STM32H743+USB3300傳輸采集的數(shù)據(jù)前幾次會(huì)包怎么解決?

    使用STM32H743+USB3300來(lái)傳輸采集的ADC數(shù)據(jù),裸機(jī),多通道實(shí)時(shí)采集傳輸,一包數(shù)據(jù)大小是120KB,問(wèn)題就是每次上電,接收到指令后傳輸都會(huì)丟失數(shù)據(jù),多傳輸幾次才會(huì)正常,正常后就是穩(wěn)定
    發(fā)表于 03-10 06:26