詳解MySQL的慢查詢?nèi)罩竞湾e(cuò)誤日志
一.MySQL的慢查詢?nèi)罩?/h2>
1.慢查詢?nèi)罩镜淖饔?/h3>
性能診斷與優(yōu)化:
- 慢查詢?nèi)罩居涗浟藞?zhí)行時(shí)間超過(guò)預(yù)設(shè)閾值的所有SQL查詢,這些查詢可能成為數(shù)據(jù)庫(kù)性能瓶頸的關(guān)鍵因素。
- 通過(guò)分析慢查詢?nèi)罩?,?shù)據(jù)庫(kù)管理員可以精準(zhǔn)地定位到哪些SQL語(yǔ)句執(zhí)行效率低下,從而針對(duì)這些語(yǔ)句進(jìn)行優(yōu)化,如改寫(xiě)SQL查詢、添加缺失的索引、重構(gòu)表結(jié)構(gòu)或調(diào)整查詢策略等。
資源消耗監(jiān)控:
- 長(zhǎng)時(shí)間運(yùn)行的查詢不僅會(huì)影響用戶體驗(yàn),還會(huì)占用大量的CPU、內(nèi)存、I/O資源,可能導(dǎo)致其他查詢響應(yīng)變慢甚至引發(fā)阻塞。
- 慢查詢?nèi)罩究梢詭椭O(jiān)控系統(tǒng)中消耗資源最多的查詢,從而合理分配和管理數(shù)據(jù)庫(kù)資源。
趨勢(shì)分析:
- 在一段時(shí)間內(nèi)持續(xù)觀察慢查詢?nèi)罩?,可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)負(fù)載的變化趨勢(shì),及時(shí)預(yù)防潛在的性能問(wèn)題,并對(duì)數(shù)據(jù)庫(kù)的工作負(fù)載模式有更深入的理解。
安全性與合規(guī)性:
- 在某些場(chǎng)景下,異常慢的查詢可能是由于SQL注入攻擊或其他安全事件導(dǎo)致,通過(guò)分析慢查詢?nèi)罩究梢詭椭l(fā)現(xiàn)并解決這類(lèi)問(wèn)題。
自動(dòng)化工具輔助:
- 結(jié)合第三方工具如pt-query-digest(Percona Toolkit的一部分)、mysqldumpslow等,可以自動(dòng)分析慢查詢?nèi)罩荆山y(tǒng)計(jì)報(bào)告和優(yōu)化建議。
性能診斷與優(yōu)化:
- 慢查詢?nèi)罩居涗浟藞?zhí)行時(shí)間超過(guò)預(yù)設(shè)閾值的所有SQL查詢,這些查詢可能成為數(shù)據(jù)庫(kù)性能瓶頸的關(guān)鍵因素。
- 通過(guò)分析慢查詢?nèi)罩?,?shù)據(jù)庫(kù)管理員可以精準(zhǔn)地定位到哪些SQL語(yǔ)句執(zhí)行效率低下,從而針對(duì)這些語(yǔ)句進(jìn)行優(yōu)化,如改寫(xiě)SQL查詢、添加缺失的索引、重構(gòu)表結(jié)構(gòu)或調(diào)整查詢策略等。
資源消耗監(jiān)控:
- 長(zhǎng)時(shí)間運(yùn)行的查詢不僅會(huì)影響用戶體驗(yàn),還會(huì)占用大量的CPU、內(nèi)存、I/O資源,可能導(dǎo)致其他查詢響應(yīng)變慢甚至引發(fā)阻塞。
- 慢查詢?nèi)罩究梢詭椭O(jiān)控系統(tǒng)中消耗資源最多的查詢,從而合理分配和管理數(shù)據(jù)庫(kù)資源。
趨勢(shì)分析:
- 在一段時(shí)間內(nèi)持續(xù)觀察慢查詢?nèi)罩?,可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)負(fù)載的變化趨勢(shì),及時(shí)預(yù)防潛在的性能問(wèn)題,并對(duì)數(shù)據(jù)庫(kù)的工作負(fù)載模式有更深入的理解。
安全性與合規(guī)性:
- 在某些場(chǎng)景下,異常慢的查詢可能是由于SQL注入攻擊或其他安全事件導(dǎo)致,通過(guò)分析慢查詢?nèi)罩究梢詭椭l(fā)現(xiàn)并解決這類(lèi)問(wèn)題。
自動(dòng)化工具輔助:
- 結(jié)合第三方工具如pt-query-digest(Percona Toolkit的一部分)、mysqldumpslow等,可以自動(dòng)分析慢查詢?nèi)罩荆山y(tǒng)計(jì)報(bào)告和優(yōu)化建議。
總結(jié)來(lái)說(shuō)慢查詢?nèi)罩緦?duì)于我們來(lái)說(shuō),特別是以后工作的時(shí)候,在生產(chǎn)環(huán)境下,數(shù)據(jù)量特別大,可能會(huì)達(dá)到千萬(wàn)條數(shù)據(jù),甚至更多,數(shù)據(jù)庫(kù)查詢性能至關(guān)重要。當(dāng)數(shù)據(jù)量達(dá)到千萬(wàn)乃至億級(jí)別時(shí),即使是微小的SQL語(yǔ)句效率差異也可能造成顯著的性能影響。慢查詢?nèi)罩驹谶@種情況下具有不可忽視的價(jià)值,這個(gè)時(shí)候通過(guò)分析慢查詢?nèi)罩?可以幫助我們優(yōu)化MySQL的性能,保證數(shù)據(jù)庫(kù)服務(wù)高效穩(wěn)定運(yùn)行,理解和熟練運(yùn)用慢查詢?nèi)罩緦?duì)于維護(hù)大規(guī)模數(shù)據(jù)庫(kù)系統(tǒng)的性能和穩(wěn)定性具有直接且重要的意義。
2.如何使用慢查詢?nèi)罩?nbsp;
2.1.啟用慢查詢?nèi)罩?/h4>
修改MySQL服務(wù)器的配置文件(通常為my.cnf
或my.ini
), 使用文本編輯器(如Notepad++、Sublime Text等)打開(kāi)配置文件。在[mysqld]部分添加以下行以啟用慢查詢?nèi)罩荆?/p>
slow_query_log = ON # 開(kāi)啟慢查詢?nèi)罩? long_query_time = N # 設(shè)置慢查詢閾值,單位秒,N為執(zhí)行時(shí)間超過(guò)多少秒的SQL將被記錄 log_slow_queries = /path/to/slow_query.log # 指定慢查詢?nèi)罩镜妮敵鑫募窂? # 或者在MySQL 5.5.3之后,使用以下配置代替: slow_query_log_file = /path/to/slow_query.log
2.2.配置選項(xiàng)
當(dāng)配置慢查詢?nèi)罩緯r(shí),除了基本的啟用和設(shè)置閾值外,可以設(shè)置其他的慢查詢?nèi)罩鞠嚓P(guān)參數(shù),以便更詳細(xì)地記錄慢查詢的信息。以下是一些常見(jiàn)的配置選項(xiàng):
記錄格式:可以選擇不同的記錄格式,如verbose模式。在verbose模式下,會(huì)記錄更多細(xì)節(jié)信息,如查詢的執(zhí)行計(jì)劃、鎖定信息等。這可以幫助更全面地了解慢查詢的執(zhí)行過(guò)程。
記錄臨時(shí)表創(chuàng)建:決定是否記錄慢查詢中創(chuàng)建的臨時(shí)表的信息。在某些情況下,臨時(shí)表的創(chuàng)建可能會(huì)對(duì)性能產(chǎn)生影響,因此記錄這些信息可以幫助分析慢查詢的原因。
記錄鎖定時(shí)間:確定是否記錄慢查詢中鎖定資源的時(shí)間信息。當(dāng)查詢導(dǎo)致鎖定資源的時(shí)間過(guò)長(zhǎng)時(shí),記錄這些信息可以幫助發(fā)現(xiàn)潛在的并發(fā)問(wèn)題或者鎖等待情況。
這些配置選項(xiàng)可以根據(jù)具體需求進(jìn)行調(diào)整,以便更好地了解慢查詢的原因和性能瓶頸。通過(guò)配置這些參數(shù),可以更詳細(xì)地記錄慢查詢?nèi)罩?,為性能?yōu)化和故障排查提供更多信息。
2.3.重啟MySQL服務(wù)
修改配置后,需要重啟MySQL服務(wù),讓新的配置生效。
2.4.查看和分析慢查詢?nèi)罩?/h4>
使用文本編輯器可以直接查看慢查詢?nèi)罩疚募捎谌罩緝?nèi)容通常較為復(fù)雜,可以借助專(zhuān)用工具進(jìn)行分析,如mysqldumpslow
工具(隨MySQL Server一起安裝)
mysqldumpslow [options] /path/to/slow_query.log
mysqldumpslow可以按照不同的排序規(guī)則(如按照查詢時(shí)間、查詢次數(shù)等)展示日志中的慢查詢信息。
mysqldumpslow [options] /path/to/slow_query.log 是一個(gè)用于解析和匯總MySQL慢查詢?nèi)罩镜拿钚泄ぞ?。具體含義如下:
mysqldumpslow 是MySQL自帶的一個(gè)工具,它用來(lái)讀取和分析MySQL服務(wù)器產(chǎn)生的慢查詢?nèi)罩疚募?/p>
要確切知道慢查詢?nèi)罩疚募奈恢茫?qǐng)查閱MySQL服務(wù)器的配置文件(如/etc/mysql/my.cnf或C:\ProgramData\MySQL\MySQL Server X.X\my.ini),并在其中查找slow_query_log_file這一行,它后面跟著的就是慢查詢?nèi)罩疚募膶?shí)際路徑。
如果你不確定具體路徑,可以通過(guò)MySQL客戶端登錄后執(zhí)行以下命令來(lái)查看當(dāng)前設(shè)置的慢查詢?nèi)罩疚募窂剑?/p>
Sql
SHOW VARIABLES LIKE 'slow_query_log_file';
這條SQL語(yǔ)句將返回慢查詢?nèi)罩疚募耐暾窂健?/p>
[options]
表示可選的命令行參數(shù),用來(lái)指定如何過(guò)濾和排序日志中的查詢。例如:-s <sort_order>
:按指定的順序排序查詢,默認(rèn)是按查詢時(shí)間排序,可選的排序類(lèi)型包括:t
:查詢時(shí)間at
:平均查詢時(shí)間l
:鎖定時(shí)間al
:平均鎖定時(shí)間r
:查詢次數(shù)ar
:平均每次查詢的查詢次數(shù)
-t <number>
:只顯示最頻繁或最耗時(shí)的前N個(gè)查詢。-v
或--verbose
:提供更詳細(xì)的輸出信息。-d
或--debug
:?jiǎn)⒂谜{(diào)試模式。-h
:顯示幫助信息。
/path/to/slow_query.log
是慢查詢?nèi)罩疚募膶?shí)際路徑,mysqldumpslow 將從該文件中讀取慢查詢記錄并進(jìn)行分析。執(zhí)行這個(gè)命令后,mysqldumpslow 會(huì)輸出經(jīng)過(guò)排序和匯總后的慢查詢信息.- 替換
/path/to/slow_query.log
為你實(shí)際的慢查詢?nèi)罩疚募窂?/li> - 注意
實(shí)際的慢查詢?nèi)罩疚募窂饺Q于MySQL服務(wù)器的配置。MySQL服務(wù)器的慢查詢?nèi)罩疚募窂酵ǔT贛ySQL配置文件(如
my.cnf
或my.ini
)中設(shè)置,配置項(xiàng)為slow_query_log_file
。默認(rèn)情況下,慢查詢?nèi)罩疚募奈恢每赡芤騇ySQL安裝和配置的不同而在各種路徑下,常見(jiàn)的一些默認(rèn)路徑包括:
- Linux系統(tǒng)上可能的默認(rèn)是
/var/lib/mysql/hostnameslow.log
或/var/log/mysql/mysql-slow.log
。 - 也可能是用戶自定義的路徑,例如
/path/to/slow-query.log
。 要確切知道慢查詢?nèi)罩疚募奈恢?,?qǐng)查閱MySQL服務(wù)器的配置文件(如
/etc/mysql/my.cnf
或C:\ProgramData\MySQL\MySQL Server X.X\my.ini
),并在其中查找slow_query_log_file
這一行,它后面跟著的就是慢查詢?nèi)罩疚募膶?shí)際路徑。如果你不確定具體路徑,可以通過(guò)MySQL客戶端登錄后執(zhí)行以下命令來(lái)查看當(dāng)前設(shè)置的慢查詢?nèi)罩疚募窂剑?/p>
Sql
SHOW VARIABLES LIKE 'slow_query_log_file';
這條SQL語(yǔ)句將返回慢查詢?nèi)罩疚募耐暾窂健?/p>
例如
mysqldumpslow -s t -t 10 /var/log/mysql/slow_query.log
這個(gè)命令將會(huì)顯示出日志中執(zhí)行時(shí)間最長(zhǎng)的前10個(gè)查詢。請(qǐng)注意,你需要擁有執(zhí)行該命令所需的權(quán)限,并確保MySQL服務(wù)已經(jīng)運(yùn)行且開(kāi)啟了慢查詢?nèi)罩竟δ堋?/strong>
2.5.優(yōu)化慢查詢
- 根據(jù)慢查詢?nèi)罩局械腟QL語(yǔ)句和附加信息(如執(zhí)行計(jì)劃、鎖定時(shí)間等),可以著手進(jìn)行SQL優(yōu)化,包括但不限于:
- 如果有必要,還可以考慮數(shù)據(jù)庫(kù)設(shè)計(jì)層面的優(yōu)化。
- 調(diào)整查詢邏輯,避免復(fù)雜關(guān)聯(lián);
- 改寫(xiě)SQL查詢語(yǔ)句,避免全表掃描或不必要的臨時(shí)表創(chuàng)建;
- 添加或優(yōu)化索引;
請(qǐng)根據(jù)實(shí)際版本的MySQL和操作系統(tǒng)環(huán)境調(diào)整上述步驟,不同版本的MySQL可能有不同的配置項(xiàng)或工具可用。同時(shí),為了不影響線上服務(wù),一般會(huì)在非高峰時(shí)段開(kāi)啟慢查詢?nèi)罩荆⒍ㄆ趯?duì)其進(jìn)行分析處理。
二.MySQL的錯(cuò)誤日志
1.錯(cuò)誤日志的作用
記錄錯(cuò)誤信息:錯(cuò)誤日志記錄了MySQL服務(wù)器運(yùn)行過(guò)程中發(fā)生的錯(cuò)誤和警告信息,包括但不限于語(yǔ)法錯(cuò)誤、連接失敗、權(quán)限問(wèn)題、表?yè)p壞、索引錯(cuò)誤、內(nèi)部錯(cuò)誤以及其他嚴(yán)重的問(wèn)題。
診斷問(wèn)題:當(dāng)MySQL服務(wù)器發(fā)生故障或不正常行為時(shí),錯(cuò)誤日志是首要的排障依據(jù)。它記錄了錯(cuò)誤的詳細(xì)上下文信息,包括錯(cuò)誤的時(shí)間、錯(cuò)誤號(hào)、錯(cuò)誤消息以及可能導(dǎo)致錯(cuò)誤的操作等,便于程序猿迅速定位問(wèn)題源頭。
審計(jì)和合規(guī)要求:對(duì)于一些高安全性和法規(guī)遵從性的場(chǎng)景,錯(cuò)誤日志可以作為重要的審計(jì)記錄,跟蹤數(shù)據(jù)庫(kù)活動(dòng)中的異常情況,確保符合企業(yè)內(nèi)部和外部監(jiān)管機(jī)構(gòu)的安全與合規(guī)要求。
服務(wù)器運(yùn)行狀態(tài)監(jiān)控:錯(cuò)誤日志還記錄了MySQL服務(wù)器啟動(dòng)和關(guān)閉時(shí)的相關(guān)信息,包括服務(wù)器初始化過(guò)程中的狀態(tài)、配置加載結(jié)果以及與其他服務(wù)的交互情況。
預(yù)防性維護(hù):通過(guò)定期檢查和分析錯(cuò)誤日志,程序猿可以預(yù)見(jiàn)并防止未來(lái)可能出現(xiàn)的問(wèn)題,比如磁盤(pán)空間不足、并發(fā)控制引起的死鎖、資源競(jìng)爭(zhēng)等情況。
性能問(wèn)題線索:雖然錯(cuò)誤日志主要不是用來(lái)追蹤性能問(wèn)題,但在某些情況下,它也可能包含關(guān)于資源耗盡、超時(shí)等待等間接指向性能瓶頸的線索。
總之,MySQL錯(cuò)誤日志是數(shù)據(jù)庫(kù)日常運(yùn)維和故障排除的重要工具,有助于確保數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定運(yùn)行和有效管理,我們還是需要重點(diǎn)掌握的.
2.如何錯(cuò)誤日志
2.1.配置錯(cuò)誤日志
首先,要在MySQL服務(wù)器的配置文件(通常是my.cnf
或my.ini
)中啟用并配置錯(cuò)誤日志.使用文本編輯器(如Notepad++、Sublime Text等)打開(kāi)配置文件在[mysqld]部分添加或修改以下配置項(xiàng):
[mysqld] log_error = /path/to/error-log-file.err
1.這里/path/to/error-log-file.err是你想要保存錯(cuò)誤日志的完整路徑和文件名。
2.可以通過(guò)log_warnings參數(shù)控制是否將警告信息也寫(xiě)入錯(cuò)誤日志,設(shè)置為log_warnings=1表示記錄警告信息
2.2.重啟MySQL服務(wù)
修改配置后,需要重啟MySQL服務(wù),讓新的配置生效。
2.3.查看錯(cuò)誤日志
使用文本編輯器直接打開(kāi)錯(cuò)誤日志文件進(jìn)行查看,例如:
1less /path/to/error-log-file.err
或者
1tail -f /path/to/error-log-file.err
后者可以實(shí)時(shí)監(jiān)控錯(cuò)誤日志的增長(zhǎng)。
2.4.分析錯(cuò)誤日志
1.錯(cuò)誤日志中記錄了MySQL服務(wù)器啟動(dòng)、運(yùn)行時(shí)遇到的各種錯(cuò)誤、警告及關(guān)鍵信息。
2.當(dāng)MySQL服務(wù)無(wú)法啟動(dòng)、出現(xiàn)意外停機(jī)、查詢失敗或其他未知問(wèn)題時(shí),首先要查看錯(cuò)誤日志以獲取具體的錯(cuò)誤信息和堆棧跟蹤。
3.根據(jù)錯(cuò)誤日志中提供的錯(cuò)誤編號(hào)、錯(cuò)誤消息和其他相關(guān)信息,可以進(jìn)一步查閱官方文檔或搜索引擎,找到對(duì)應(yīng)的解決方案。
2.5.管理錯(cuò)誤日志大小
針對(duì)大型部署,可能還需要設(shè)置日志輪轉(zhuǎn)策略,以免單個(gè)日志文件過(guò)大。這通常通過(guò)操作系統(tǒng)級(jí)別的日志管理工具或MySQL本身不支持的日志管理插件來(lái)實(shí)現(xiàn)。
2.6.調(diào)整日志級(jí)別
雖然MySQL錯(cuò)誤日志主要關(guān)注錯(cuò)誤和警告,但在某些情況下,也可以通過(guò)調(diào)整MySQL全局變量(如log_error_verbosity
)來(lái)改變?nèi)罩居涗浀脑敿?xì)程度。
1.
log_error_verbosity
(從MySQL 5.7.8開(kāi)始)
這個(gè)變量可以設(shè)置錯(cuò)誤日志的詳細(xì)級(jí)別。默認(rèn)值為1,即普通模式。將其設(shè)置為2,可以得到更詳細(xì)的錯(cuò)誤日志,包括每個(gè)線程的堆棧跟蹤信息。
SQL
SET GLOBAL log_error_verbosity = 2;
2.log_warnings
控制是否將警告信息寫(xiě)入錯(cuò)誤日志。設(shè)置為1或更大值時(shí),MySQL將把警告信息記錄到錯(cuò)誤日志中。
SQL
SET GLOBAL log_warnings = 1;
需要注意的是,更改全局變量可能會(huì)影響到整個(gè)MySQL服務(wù)器的行為,所以在生產(chǎn)環(huán)境中應(yīng)謹(jǐn)慎操作,并結(jié)合具體情況權(quán)衡日志詳細(xì)程度和資源消耗之間的平衡。同時(shí),務(wù)必保持對(duì)錯(cuò)誤日志的定期檢查和清理,以避免存儲(chǔ)空間的過(guò)度消耗。
以上就是詳解MySQL的慢查詢?nèi)罩竞湾e(cuò)誤日志的詳細(xì)內(nèi)容,更多關(guān)于MySQL慢查詢和錯(cuò)誤日志的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- MySQL慢查詢?nèi)罩緎lowlog的具體使用
- 怎樣快速開(kāi)啟MySQL的慢查詢?nèi)罩?/a>
- MySQL通用查詢?nèi)罩竞吐樵內(nèi)罩救娣治?/a>
- MySQL慢查詢?nèi)罩局械腖ock_time由來(lái)解析
- MySQL慢查詢?nèi)罩境敿?xì)總結(jié)
- 深入了解MySQL中的慢查詢?nèi)罩?/a>
- MySQL優(yōu)化教程之慢查詢?nèi)罩緦?shí)踐
- MySQL 慢查詢?nèi)罩旧钊肜斫?/a>
- MySQL慢查詢?nèi)罩镜淖饔煤烷_(kāi)啟
- MySQL 慢查詢?nèi)罩镜拈_(kāi)啟與配置
- MySQL慢查詢?nèi)罩?Slow Query Log)的實(shí)現(xiàn)
相關(guān)文章
使用ORM新增數(shù)據(jù)在Mysql中的操作步驟
這篇文章主要介紹了使用ORM新增數(shù)據(jù)在Mysql中,但是在這需要注意需要大家新建ORM模型,具體搭建步驟及詳細(xì)過(guò)程跟隨小編一起看看吧2021-07-07淺談MySql 視圖、觸發(fā)器以及存儲(chǔ)過(guò)程
這篇文章主要介紹了MySql 視圖、觸發(fā)器以及存儲(chǔ)過(guò)程的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06MySQL中日期和時(shí)間戳轉(zhuǎn)換之字符到DATE和TIMESTAMP的相互轉(zhuǎn)換
這篇文章主要介紹了MySQL中日期和時(shí)間戳轉(zhuǎn)換之字符到DATE和TIMESTAMP相互轉(zhuǎn)換的相關(guān)資料,包括字符串與日期/時(shí)間類(lèi)型之間的轉(zhuǎn)換,日期/時(shí)間類(lèi)型之間的轉(zhuǎn)換,UNIX_TIMESTAMP與日期/時(shí)間類(lèi)型之間的轉(zhuǎn)換以及時(shí)區(qū)轉(zhuǎn)換,需要的朋友可以參考下2024-12-12mysql 5.7.21解壓版安裝配置方法圖文教程(win10)
這篇文章主要為大家詳細(xì)介紹了win10下mysql 5.7.21解壓版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02mysql獲取group by的總記錄行數(shù)另類(lèi)方法
mysql獲取group by內(nèi)部可以獲取到某字段的記錄分組統(tǒng)計(jì)總數(shù),而無(wú)法統(tǒng)計(jì)出分組的記錄數(shù),下面有個(gè)可行的方法,大家可以看看2014-10-10解決Windows10下mysql5.5數(shù)據(jù)庫(kù)命令行中文亂碼問(wèn)題
重置系統(tǒng)后,很久之前安裝的MySQL數(shù)據(jù)庫(kù)出現(xiàn)了控制臺(tái)查詢中文亂碼問(wèn)題,時(shí)間太久早已經(jīng)不記得怎么設(shè)置了。下面通過(guò)本文給大家分享Windows10下解決MySQL5.5數(shù)據(jù)庫(kù)命令行中文亂碼問(wèn)題,一起看看吧2017-07-07MySQL使用Sequence創(chuàng)建唯一主鍵的實(shí)現(xiàn)示例
Sequence提供了更多的靈活性,本文主要介紹了MySQL使用Sequence創(chuàng)建唯一主鍵的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05