可以利用光盤(pán)引導(dǎo)啟動(dòng)進(jìn)入PE系統(tǒng)后完整拷貝硬盤(pán)內(nèi)的所有數(shù)據(jù)。
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶(hù)提供專(zhuān)業(yè)四川綿陽(yáng)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性?xún)r(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專(zhuān)業(yè)成都idc公司。
所有東西完整導(dǎo)出到移動(dòng)硬盤(pán)可以通過(guò)硬盤(pán)克隆來(lái)完成。詳細(xì)操作步驟如下:
1、安裝并打開(kāi)軟件,主頁(yè)面找到“克隆”欄,選擇“磁盤(pán)克隆”。
2、選擇源磁盤(pán)(要導(dǎo)出的磁盤(pán))
3、選擇目標(biāo)磁盤(pán)(要導(dǎo)入的磁盤(pán))
4、選擇好兩個(gè)磁盤(pán),點(diǎn)擊“開(kāi)始備份”。
5、在備份詳情頁(yè)面顯示備份進(jìn)度和詳細(xì)過(guò)程。
6、進(jìn)度條100%后,點(diǎn)擊“完成”就導(dǎo)出所有的內(nèi)容到移動(dòng)硬盤(pán)了。
補(bǔ)充說(shuō)明:移動(dòng)硬盤(pán)缺點(diǎn):損毀基本無(wú)法恢復(fù):除此之外同固態(tài)硬盤(pán)一樣,在硬受到物理?yè)p壞時(shí)數(shù)據(jù)是無(wú)法恢復(fù)的,不過(guò)這種情況只是小概率事件,基本不會(huì)遇到。
Mysql 工作原理圖
Mysql是由SQL接口,解析器,優(yōu)化器,緩存,存儲(chǔ)引擎組成的。
mysql原理圖各個(gè)組件說(shuō)明:
1. connectors
與其他編程語(yǔ)言中的sql 語(yǔ)句進(jìn)行交互,如php、java等。
2. Management Serveices Utilities
系統(tǒng)管理和控制工具
3. Connection Pool (連接池)
管理緩沖用戶(hù)連接,線程處理等需要緩存的需求
4. SQL Interface (SQL接口)
接受用戶(hù)的SQL命令,并且返回用戶(hù)需要查詢(xún)的結(jié)果。比如select from就是調(diào)用SQL Interface
5. Parser (解析器)
SQL命令傳遞到解析器的時(shí)候會(huì)被解析器驗(yàn)證和解析。
主要功能:
a . 將SQL語(yǔ)句分解成數(shù)據(jù)結(jié)構(gòu),并將這個(gè)結(jié)構(gòu)傳遞到后續(xù)步驟,后面SQL語(yǔ)句的傳遞和處理就是基于這個(gè)結(jié)構(gòu)的
b. 如果在分解構(gòu)成中遇到錯(cuò)誤,那么就說(shuō)明這個(gè)sql語(yǔ)句是不合理的,語(yǔ)句將不會(huì)繼續(xù)執(zhí)行下去
6. Optimizer (查詢(xún)優(yōu)化器)
SQL語(yǔ)句在查詢(xún)之前會(huì)使用查詢(xún)優(yōu)化器對(duì)查詢(xún)進(jìn)行優(yōu)化(產(chǎn)生多種執(zhí)行計(jì)劃,最終數(shù)據(jù)庫(kù)會(huì)選擇最優(yōu)化的方案去執(zhí)行,盡快返會(huì)結(jié)果) 他使用的是“選取-投影-聯(lián)接”策略進(jìn)行查詢(xún)。
用一個(gè)例子就可以理解: select uid,name from user where gender = 1;
這個(gè)select 查詢(xún)先根據(jù)where 語(yǔ)句進(jìn)行選取,而不是先將表全部查詢(xún)出來(lái)以后再進(jìn)行g(shù)ender過(guò)濾
這個(gè)select查詢(xún)先根據(jù)uid和name進(jìn)行屬性投影,而不是將屬性全部取出以后再進(jìn)行過(guò)濾
將這兩個(gè)查詢(xún)條件聯(lián)接起來(lái)生成最終查詢(xún)結(jié)果.
7. Cache和Buffer (查詢(xún)緩存)
如果查詢(xún)緩存有命中的查詢(xún)結(jié)果,查詢(xún)語(yǔ)句就可以直接去查詢(xún)緩存中取數(shù)據(jù)。
這個(gè)緩存機(jī)制是由一系列小緩存組成的。比如表緩存,記錄緩存,key緩存,權(quán)限緩存等
8.Engine (存儲(chǔ)引擎)
存儲(chǔ)引擎是MySql中具體的與文件打交道的子系統(tǒng)。也是Mysql最具有特色的一個(gè)地方。
Mysql的存儲(chǔ)引擎是插件式的。它根據(jù)MySql AB公司提供的文件訪問(wèn)層的一個(gè)抽象接口來(lái)定制一種文件訪問(wèn)機(jī)制(這種訪問(wèn)機(jī)制就叫存儲(chǔ)引擎)
SQL 語(yǔ)句執(zhí)行過(guò)程
數(shù)據(jù)庫(kù)通常不會(huì)被直接使用,而是由其他編程語(yǔ)言通過(guò)SQL語(yǔ)句調(diào)用mysql,由mysql處理并返回執(zhí)行結(jié)果。那么Mysql接受到SQL語(yǔ)句后,又是如何處理
首先程序的請(qǐng)求會(huì)通過(guò)mysql的connectors與其進(jìn)行交互,請(qǐng)求到處后,會(huì)暫時(shí)存放在連接池(connection pool)中并由處理器(Management Serveices Utilities)管理。當(dāng)該請(qǐng)求從等待隊(duì)列進(jìn)入到處理隊(duì)列,管理器會(huì)將該請(qǐng)求丟給SQL接口(SQL Interface)。SQL接口接收到請(qǐng)求后,它會(huì)將請(qǐng)求進(jìn)行hash處理并與緩存中的結(jié)果進(jìn)行對(duì)比,如果完全匹配則通過(guò)緩存直接返回處理結(jié)果;否則,需要完整的走一趟流程:
(1)由SQL接口丟給后面的解釋器(Parser),解釋器會(huì)判斷SQL語(yǔ)句正確與否,若正確則將其轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)。
(2)解釋器處理完,便來(lái)到后面的優(yōu)化器(Optimizer),它會(huì)產(chǎn)生多種執(zhí)行計(jì)劃,最終數(shù)據(jù)庫(kù)會(huì)選擇最優(yōu)化的方案去執(zhí)行,盡快返會(huì)結(jié)果。
(3)確定最優(yōu)執(zhí)行計(jì)劃后,SQL語(yǔ)句此時(shí)便可以交由存儲(chǔ)引擎(Engine)處理,存儲(chǔ)引擎將會(huì)到后端的存儲(chǔ)設(shè)備中取得相應(yīng)的數(shù)據(jù),并原路返回給程序。
注意點(diǎn)
(1)如何緩存查詢(xún)數(shù)據(jù)
存儲(chǔ)引擎處理完數(shù)據(jù),并將其返回給程序的同時(shí),它還會(huì)將一份數(shù)據(jù)保留在緩存中,以便更快速的處理下一次相同的請(qǐng)求。具體情況是,mysql會(huì)將查詢(xún)的語(yǔ)句、執(zhí)行結(jié)果等進(jìn)行hash,并保留在cache中,等待下次查詢(xún)。
(2)buffer與cache的區(qū)別
從mysql原理圖可以看到,緩存那里實(shí)際上有buffer和cache兩個(gè),那它們之間的區(qū)別:簡(jiǎn)單的說(shuō)就是,buffer是寫(xiě)緩存,cache是讀緩存。
(3)如何判斷緩存中是否已緩存需要的數(shù)據(jù)
這里可能有一個(gè)誤區(qū),覺(jué)得處理SQL語(yǔ)句的時(shí)候,為了判斷是否已緩存查詢(xún)結(jié)果,會(huì)將整個(gè)流程走一遍,取得執(zhí)行結(jié)果后再與需要的進(jìn)行對(duì)比,看看是否命中,并以此說(shuō),既然不管緩存中有沒(méi)有緩存到查詢(xún)內(nèi)容,都要整個(gè)流程走一遍,那緩存的優(yōu)勢(shì)在哪?
其實(shí)并不是這樣,在第一次查詢(xún)后,mysql便將查詢(xún)語(yǔ)句以及查詢(xún)結(jié)果進(jìn)行hash處理并保留在緩存中,SQL查詢(xún)到達(dá)之后,對(duì)其進(jìn)行同樣的hash處理后,將兩個(gè)hash值進(jìn)行對(duì)照,如果一樣,則命中,從緩存中返回查詢(xún)結(jié)果;否則,需要整個(gè)流程走一遍。
分區(qū)介紹:
一、什么是分區(qū)?
所謂分區(qū),就是將一個(gè)表分成多個(gè)區(qū)塊進(jìn)行操作和保存,從而降低每次操作的數(shù)據(jù),提高性能。而對(duì)于應(yīng)用來(lái)說(shuō)則是透明的,從邏輯上看只有一張表,但在物理上這個(gè)表可能是由多個(gè)物理分區(qū)組成的,每個(gè)分區(qū)都是獨(dú)立的對(duì)象,可以進(jìn)行獨(dú)立處理。
二、分區(qū)作用
1.可以邏輯數(shù)據(jù)分割,分割數(shù)據(jù)能夠有多個(gè)不同的物理文件路徑。
2.可以存儲(chǔ)更多的數(shù)據(jù),突破系統(tǒng)單個(gè)文件最大限制。
3.提升性能,提高每個(gè)分區(qū)的讀寫(xiě)速度,提高分區(qū)范圍查詢(xún)的速度。
4.可以通過(guò)刪除相關(guān)分區(qū)來(lái)快速刪除數(shù)據(jù)
5.通過(guò)跨多個(gè)磁盤(pán)來(lái)分散數(shù)據(jù)查詢(xún),從而提高磁盤(pán)I/O的性能。
6.涉及到例如SUM()、COUNT()這樣聚合函數(shù)的查詢(xún),可以很容易的進(jìn)行并行處理。
7.可以備份和恢復(fù)獨(dú)立的分區(qū),這對(duì)大數(shù)據(jù)量很有好處。
三、分區(qū)能支持的引擎
MySQL支持大部分引擎創(chuàng)建分區(qū),入MyISAM、InnoDB等;不支持MERGE和CSV等來(lái)創(chuàng)建分區(qū)。同一個(gè)分區(qū)表中的所有分區(qū)必須是同一個(gè)存儲(chǔ)引擎。值得注意的是,在MySQL8版本中,MyISAM表引擎不支持分區(qū)。
四、確認(rèn)MySQL支持分區(qū)
從MySQL5.1開(kāi)始引入分區(qū)功能,可以如下方式查看是否支持:
老版本用:SHOW VARIABLES LIKE '%partition%';
新版本用:show plugins;
五、分區(qū)類(lèi)型
1. RANGE分區(qū):基于屬于一個(gè)給定連續(xù)區(qū)間的列值,把多行分配給分區(qū)。
例如,可以將一個(gè)表通過(guò)年份劃分成兩個(gè)分區(qū),2001 -2010年、2011-2020。
2. LIST分區(qū):類(lèi)似于RANGE分區(qū),LIST是列值匹配一個(gè)離散值集合中的某個(gè)值來(lái)進(jìn)行選擇。
比如 根據(jù)字段 把值為1、3、5的放到一起,2、4、6的另外放到一起 等等...
3. HASH分區(qū):基于用戶(hù)定義的表達(dá)式的返回值來(lái)進(jìn)行選擇分區(qū),該表達(dá)式使用將要插入到表中的這些行的列值來(lái)進(jìn)行計(jì)算,這個(gè)函數(shù)必須產(chǎn)生非負(fù)整數(shù)值。
通過(guò)HASH運(yùn)算來(lái)進(jìn)行分區(qū),分布的比較均勻
4. KEY分區(qū):類(lèi)似于按HASH分區(qū),由MySQL服務(wù)器提供其自身的哈希函數(shù)。
按照KEY進(jìn)行分區(qū)類(lèi)似于按照HASH分區(qū)
六、使用分區(qū)注意事項(xiàng)
1. 如果表中存在primary key 或者 unique key 時(shí),分區(qū)的列必須是paimary key或者unique key的一個(gè)組成部分,也就是說(shuō),分區(qū)函數(shù)的列只能從pk或者uk這些key中取子集
2. 如果表中不存在任何的paimary key或者unique key,則可以指定任何一個(gè)列作為分區(qū)列
3. 5.5版本前的RANGE、LIST、HASH分區(qū)要求分區(qū)鍵必須是int;MySQL5.5及以上,支持非整形的RANGE和LIST分區(qū),即:range columns 和 list columns (可以用字符串來(lái)進(jìn)行分區(qū))。
七、分區(qū)命名
1. 分區(qū)的名字基本上遵循其他MySQL 標(biāo)識(shí)符應(yīng)當(dāng)遵循的原則,例如用于表和數(shù)據(jù)庫(kù)名字的標(biāo)識(shí)符。應(yīng)當(dāng)注意的是,分區(qū)的名字是不區(qū)分大小寫(xiě)的。
2. 無(wú)論使用何種類(lèi)型的分區(qū),分區(qū)總是在創(chuàng)建時(shí)就自動(dòng)的順序編號(hào),且從0開(kāi)始記錄。
八、 創(chuàng)建分區(qū)
1. RANGE分區(qū):
解讀:以上為 uuid小于5時(shí)放到p0分區(qū)下,uuid大于5且小于10放到p1分區(qū)下,uuid大于10且小于15放到p2分區(qū)下,uuid大于15 一直到最大值的存在p3分區(qū)下
2. LIST分區(qū):
解讀:以上為uuid 等于1/2/3/5時(shí)放到p0分區(qū),7/9/10放到p1分區(qū),11/15放到p2分區(qū)。當(dāng)時(shí)用insert into時(shí) 如果uuid的值不存在p0/p1/p2分區(qū)時(shí),則會(huì)插入失敗而報(bào)錯(cuò)。
3. HASH分區(qū):
HASH分區(qū)主要用來(lái)確保數(shù)據(jù)在預(yù)先確定數(shù)目的分區(qū)中平均分布。在RANGE分區(qū)和LIST分區(qū)中必須明確指定一個(gè)指定的列值或列值集合以指定應(yīng)該保存在哪個(gè)分區(qū)中。而在HASH分區(qū)中,MySQL會(huì)自動(dòng)完成這些工作,要做的只是基于將要被哈希的列值指定一個(gè)表達(dá)式,以及指定被分區(qū)的表將要被分割成的分區(qū)數(shù)量,如:
解讀:MySQL自動(dòng)創(chuàng)建3個(gè)分區(qū),在執(zhí)行insert into時(shí),根據(jù)插入的uuid通過(guò)算法來(lái)自動(dòng)分配區(qū)間。
注意:
(1) 由于每次插入、更新、刪除一行,這個(gè)表達(dá)式都要計(jì)算一次,這意味著非常復(fù)雜的表達(dá)式可能會(huì)引起性能問(wèn)題,尤其是在執(zhí)行同時(shí)影響大量行的運(yùn)算(例如批量插入)的時(shí)候。
(2) 最有效率的哈希函數(shù)是只對(duì)單個(gè)表列進(jìn)行計(jì)算,并且它的值隨列值進(jìn)行一致的增大或減小,因?yàn)檫@考慮了在分區(qū)范圍上的“修剪”。也就是說(shuō),表達(dá)式值和它所基于的列的值變化越接近,就越能有效地使用該表達(dá)式來(lái)進(jìn)行HASH分區(qū)。
3.1:線性HASH分區(qū)
線性HASH分區(qū)在“PARTITION BY”子句中添加“LINEAR”關(guān)鍵字。
線性HASH分區(qū)的有點(diǎn)在于增加、刪除、合并和拆分分區(qū)將變得更加快捷,有利于處理含有及其大量數(shù)據(jù)的表。它的缺點(diǎn)在于各個(gè)分區(qū)間數(shù)據(jù)的分布不大可能均衡。
4. KEY分區(qū)
類(lèi)似于HASH分區(qū),HASH分區(qū)允許用戶(hù)自定義的表達(dá)式,而KEY分區(qū)則不允許使用用戶(hù)自定義的表達(dá)式;HASH分區(qū)只支持整數(shù)分區(qū),KEY分區(qū)支持除了blob和text類(lèi)型之外的其他數(shù)據(jù)類(lèi)型分區(qū)。
與HASH分區(qū)不同,創(chuàng)建KEY分區(qū)表的時(shí)候,可以不指定分區(qū)鍵,默認(rèn)會(huì)選擇使用主鍵或唯一鍵作為分區(qū)鍵,沒(méi)有主鍵或唯一鍵,就必須指定分區(qū)鍵。
解讀:根據(jù)分區(qū)鍵來(lái)進(jìn)行分區(qū)
5. 子分區(qū)
子分區(qū)是分區(qū)表中,每個(gè)分區(qū)的再次分割,適合保存非常大量的數(shù)據(jù)。
解讀:主分區(qū)使用RANGE按照年來(lái)進(jìn)行分區(qū),有3個(gè)RANGE分區(qū)。這3個(gè)分區(qū)中又被進(jìn)一步分成了2個(gè)子分區(qū),實(shí)際上,整個(gè)表被分成了3 * 2 = 6個(gè)分區(qū)。每個(gè)子分區(qū)按照天進(jìn)行HASH分區(qū)。小于2017的放在一起,2017-2020的放在一起,大于2020的放在一起。
注意:
(1) 在MySQL5.1中,對(duì)于已經(jīng)通過(guò)RANGE或LIST分區(qū)了的表在進(jìn)行子分區(qū)是可能的。子分區(qū)既可以使用HASH分區(qū),也可以使用KEY分區(qū)。這也被稱(chēng)為復(fù)合分區(qū)。
(2) 每個(gè)分區(qū)必須有相同數(shù)量的子分區(qū)。
(3) 如果在一個(gè)分區(qū)表上的任何分區(qū)上使用SUBPARTITION來(lái)明確定義任何子分區(qū),那么就必須定義所有的子分區(qū)。
(4) 每個(gè)SUBPARTITION子句必須包含(至少)子分區(qū)的一個(gè)名字。
(5) 在每個(gè)子分區(qū)內(nèi),子分區(qū)的名字必須是惟一的,目前在整個(gè)表中,也要保持唯一。例如:
子分區(qū)可以用于特別大的表,可以在多個(gè)磁盤(pán)間分配數(shù)據(jù)和索引。例如:
九、MySQL分區(qū)處理NULL值的方式
十、分區(qū)管理概述
可以對(duì)分區(qū)進(jìn)行添加、刪除、重新定義、合并或拆分等管理操作。
① RANGE和LIST分區(qū)的管理
1. 刪除分區(qū)語(yǔ)句如:alter table tbl_test drop partition p0;
注意:
(1) 當(dāng)刪除了一個(gè)分區(qū),也同時(shí)刪除了該分區(qū)中所有的數(shù)據(jù)。
(2) 可以通過(guò)show create table tbl_test;來(lái)查看新的創(chuàng)建表的語(yǔ)句。
(3) 如果是LIST分區(qū)的話,刪除的數(shù)據(jù)不能新增進(jìn)來(lái),因?yàn)檫@些行的列值包含在已經(jīng)刪除了的分區(qū)的值列表中。
2. 添加分區(qū)語(yǔ)句如:alter table tbl_test add partition(partition p3 values less than(50));
注意:
(1) 對(duì)于RANGE分區(qū)的表,只可以添加新的分區(qū)到分區(qū)列表的最高端。
(2) 對(duì)于LIST分區(qū)的表,不能添加已經(jīng)包含在現(xiàn)有分區(qū)值列表中的任意值。
3. 如果希望能不丟失數(shù)據(jù)的條件下重新定義分區(qū),可以使用如下語(yǔ)句:
REORGANIZE會(huì)對(duì)分區(qū)的數(shù)據(jù)進(jìn)行重構(gòu)。
ALTER TABLE tbl_name REORGANIZE PARTITION partition_list INTO(partition_definitions)
(1) 拆分分區(qū)如:
ALTER TABLE tbl_name REORGANIZE PARTITION partition_list INTO(partition s0 values less than(5),partition s1 values less than(10));
或者如:
ALTER TABLE tbl_name REORGANIZE PARTITION p0 INTO(partition s0 values in(1,2,3), partition s1 values in(4,5));
(2) 合并分區(qū)如:ALTER TABLE tbl_name REORGANIZE PARTITION s0,s1 INTO(partition p0 values in(1,2,3,4,5));
4. 刪除所有分區(qū),但保留數(shù)據(jù),形式:ALTER TABLE tbl_name remove partitioning;
② HASH和KEY分區(qū)的管理
1. 減少分區(qū)數(shù)量語(yǔ)句如:ALTER TABLE tbl_name COALESCE PARTITION 2;
2. 添加分區(qū)數(shù)量語(yǔ)句如:ALTER TABLE tbl_name add PARTITION partitions 2;
③ 其他分區(qū)管理語(yǔ)句
1. 重建分區(qū):類(lèi)似于先刪除保存在分區(qū)中的所有記錄,然后重新插入它們,可用于整理分區(qū)碎片。如:ALTER table tbl_name REBUILD PARTITION p2,p3;
2. 優(yōu)化分區(qū):如果從分區(qū)中刪除了大量的行,或者對(duì)一個(gè)帶有可變長(zhǎng)度的行(也就是說(shuō),有VARCHAR,BLOB或TEXT類(lèi)型的列)做了許多修改,可以使用 ALTER TABLE tbl_name OPTIMIZE PARTITION來(lái)收回沒(méi)有使用的空間,并整理分區(qū)數(shù)據(jù)文件的碎片。如:ALTER TABLE tbl_name OPTIMIZE PARTITION p2,p3;
3. 分析分區(qū):讀取并保存分區(qū)的鍵分布,如:ALTER TABLE tbl_name ANALYZE PARTITION p2,p3;
4. 檢查分區(qū):檢查分區(qū)中的數(shù)據(jù)或索引是否已經(jīng)被破壞,如:ALTER TABLE tbl_name CHECK PARTITION p2,p3;
5. 修補(bǔ)分區(qū):修補(bǔ)被破壞的分區(qū),如:ALTER TABLE tbl_name REPAIR PARTITION p2,p3;
十、查看分區(qū)信息
1. 查看分區(qū)信息:select * from information_schema.partitions where table_schema='arch1' and table_name = 'tbl_test' G;
2. 查看分區(qū)上的數(shù)據(jù):select * from tbl_test partition(p0);
3. 查看MySQL會(huì)操作的分區(qū):explain partitions select * from tbl_test where uuid = 2;
十一、 局限性
1. 最大分區(qū)數(shù)目不能超過(guò)1024,一般建議對(duì)單表的分區(qū)數(shù)不要超過(guò)50個(gè)。
2. 如果含有唯一索引或者主鍵,則分區(qū)列必須包含在所有的唯一索引或者主鍵在內(nèi)。
3. 不支持外鍵。
4. 不支持全文索引,對(duì)分區(qū)表的分區(qū)鍵創(chuàng)建索引,那么這個(gè)索引也將被分區(qū)。
5. 按日期進(jìn)行分區(qū)很合適,因?yàn)楹芏嗳掌诤瘮?shù)可以用。但是對(duì)字符串來(lái)說(shuō)合適的分區(qū)函數(shù)不太多。
6. 只有RANGE和LIST分區(qū)能進(jìn)行子分區(qū),HASH和KEY分區(qū)不能進(jìn)行子分區(qū)。
7. 臨時(shí)表不能被分區(qū)。
8. 分區(qū)表對(duì)于單條記錄的查詢(xún)沒(méi)有優(yōu)勢(shì)。
9. 要注意選擇分區(qū)的成本,沒(méi)插入一行數(shù)據(jù)都需要按照表達(dá)式篩選插入的分區(qū)。
10. 分區(qū)字段盡量不要可以為null
當(dāng)前文章:mysql怎么處理磁盤(pán) mysql磁盤(pán)空間不足
本文地址:http://jinyejixie.com/article46/dosgihg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、云服務(wù)器、、做網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容