最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù)

 更新時(shí)間:2019年03月15日 11:43:48   作者:CODETC  
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

數(shù)據(jù)庫遷移是我們經(jīng)常可遇到的問題,對于少量的數(shù)據(jù),遷移基本上不會(huì)有什么問題。生產(chǎn)環(huán)境中,有以下情況需要做遷移工作:

  • 磁盤空間不夠。比如一些老項(xiàng)目,選用的機(jī)型并不一定適用于數(shù)據(jù)庫。隨著時(shí)間的推移,硬盤很有可能出現(xiàn)短缺;
  • 業(yè)務(wù)出現(xiàn)瓶頸。比如項(xiàng)目中采用單機(jī)承擔(dān)所有的讀寫業(yè)務(wù),業(yè)務(wù)壓力增大,不堪重負(fù)。如果 IO 壓力在可接受的范圍,會(huì)采用讀寫分離方案;
  • 機(jī)器出現(xiàn)瓶頸。機(jī)器出現(xiàn)瓶頸主要在磁盤 IO 能力、內(nèi)存、CPU,此時(shí)除了針對瓶頸做一些優(yōu)化以外,選擇遷移是不錯(cuò)的方案;
  • 項(xiàng)目改造。某些項(xiàng)目的數(shù)據(jù)庫存在跨機(jī)房的情況,可能會(huì)在不同機(jī)房中增加節(jié)點(diǎn),或者把機(jī)器從一個(gè)機(jī)房遷移到另一個(gè)機(jī)房。再比如,不同業(yè)務(wù)共用同一臺服務(wù)器,為了緩解服務(wù)器壓力以及方便維護(hù),也會(huì)做遷移。

MySQL遷移通常使用的有三種方法:

1、數(shù)據(jù)庫直接導(dǎo)出,拷貝文件到新服務(wù)器,在新服務(wù)器上導(dǎo)入。

2、使用第三方遷移工具。

3、數(shù)據(jù)文件和庫表結(jié)構(gòu)文件直接拷貝到新服務(wù)器,掛載到同樣配置的MySQL服務(wù)下。

第一種方案的優(yōu)點(diǎn):會(huì)重建數(shù)據(jù)文件,減少數(shù)據(jù)文件的占用空間,兼容性最好,導(dǎo)出導(dǎo)入很少發(fā)生問題,需求靈活。缺點(diǎn):使用傳統(tǒng)導(dǎo)出導(dǎo)入時(shí)間占用長。

第二種方案的優(yōu)點(diǎn):設(shè)置完成后傳輸無人值守,自動(dòng)完成。缺點(diǎn):不夠靈活,設(shè)置繁瑣,傳輸時(shí)間長,異常后很難從異常的位置繼續(xù)傳輸。

第三種方案的優(yōu)點(diǎn):時(shí)間占用短,文件可斷點(diǎn)傳輸,操作步驟少。缺點(diǎn):新舊服務(wù)器中MySQL版本及配置必須相同,可能引起未知問題。

假如數(shù)據(jù)庫遷移是因?yàn)闃I(yè)務(wù)瓶頸或項(xiàng)目改造等需要變動(dòng)數(shù)據(jù)表結(jié)構(gòu)的(比如分區(qū)分表),我們便只能使用第一種方法了。

使用MySQL的SELECT INTO OUTFILE 、LOAD DATA INFILE快速導(dǎo)出導(dǎo)入數(shù)據(jù)

LOAD DATA INFILE語句從一個(gè)文本文件中以很高的速度讀入一個(gè)表中。MySQL官方文檔也說明了,該方法比一次性插入一條數(shù)據(jù)性能快20倍。

當(dāng)用戶一前一后地使用SELECT ... INTO OUTFILE LOAD DATA INFILE 將數(shù)據(jù)從一個(gè)數(shù)據(jù)庫寫到一個(gè)文件中,然后再從文件中將它讀入數(shù)據(jù)庫中時(shí),兩個(gè)命令的字段和行處理選項(xiàng)必須匹配。否則,LOAD DATA INFILE 將不能正確地解釋文件內(nèi)容。

下面是一個(gè)項(xiàng)目的例子,MySQL由windows平臺遷移到Linux平臺,數(shù)據(jù)總量12G

Windows平臺導(dǎo)出數(shù)據(jù):

tables.txt是保存數(shù)據(jù)表名稱的文件,通過從文件中讀取數(shù)據(jù)表名稱,循環(huán)導(dǎo)出所有表:如果過程中攝及到分表,可根據(jù)分表規(guī)則修改導(dǎo)出的sql語句和批處理代碼,非常靈活。

@echo off & setlocal enabledelayedexpansion
for /f %%i in (tables.txt) do ( set table=%%i
 echo "dump table -- !table! --"
 mysql -uroot -p12345678 codetc_old -e "SELECT * INTO OUTFILE 'F:/MySQL/Uploads/!table!.txt' FIELDS TERMINATED BY ',' FROM !table!"
)
pause

Linux平臺導(dǎo)入數(shù)據(jù):

#!/bin/bash
while read line
do
    mysql -uroot -p12345678 codetc_new -e "LOAD DATA INFILE '/var/lib/mysql-files/$line.txt' INTO TABLE $line FIELDS TERMINATED BY ','"
done < tables.txt

數(shù)據(jù)導(dǎo)入之前需在新機(jī)器上創(chuàng)建表結(jié)構(gòu),12G的數(shù)據(jù)導(dǎo)出用時(shí)3分鐘左右,導(dǎo)入用時(shí)4分鐘左右(執(zhí)行時(shí)間根據(jù)機(jī)器的配置會(huì)有所不同,不具有參考價(jià)值)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • windows?64位下mysql8.0.25安裝配置教程(最詳細(xì)!)

    windows?64位下mysql8.0.25安裝配置教程(最詳細(xì)!)

    之前一直在用 5.7 版本,竟然一下子跳到 8.0了,下面這篇文章主要給大家介紹了關(guān)于在windows?64位下mysql8.0.25安裝配置教程,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • mysql派生表(Derived Table)簡單用法實(shí)例解析

    mysql派生表(Derived Table)簡單用法實(shí)例解析

    這篇文章主要介紹了mysql派生表(Derived Table)簡單用法,結(jié)合實(shí)例形式分析了mysql派生表的原理、簡單使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • SQL?Group?By分組后如何選取每組最新的一條數(shù)據(jù)

    SQL?Group?By分組后如何選取每組最新的一條數(shù)據(jù)

    經(jīng)常在分組查詢之后,需要的是分組的某行數(shù)據(jù),例如更新時(shí)間最新的一條數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于SQL?Group?By分組后如何選取每組最新的一條數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • navicat連接mysql出現(xiàn)2059錯(cuò)誤的解決方法

    navicat連接mysql出現(xiàn)2059錯(cuò)誤的解決方法

    這篇文章主要為大家詳細(xì)介紹了navicat連接mysql出現(xiàn)2059錯(cuò)誤的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • MySQL函數(shù)與存儲過程字符串長度限制的解決

    MySQL函數(shù)與存儲過程字符串長度限制的解決

    本文主要介紹了MySQL函數(shù)與存儲過程字符串長度限制的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中

    如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中

    如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中...
    2006-12-12
  • MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解

    MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解

    本文主要介紹了MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql5.6 主從復(fù)制同步詳細(xì)配置(圖文)

    mysql5.6 主從復(fù)制同步詳細(xì)配置(圖文)

    這篇文章主要介紹了mysql5.6 主從復(fù)制同步詳細(xì)配置,但不是很詳細(xì)推薦大家看下腳本之家以前的文章,需要的朋友可以參考下
    2016-04-04
  • MySQL數(shù)據(jù)庫安全配置介紹

    MySQL數(shù)據(jù)庫安全配置介紹

    MySQL數(shù)據(jù)庫所在的主機(jī)的安全性是最首要的問題,如果主機(jī)不安全,被攻擊者控制,那么MySQL的安全性也無從談起。其次就是數(shù)據(jù)目錄和數(shù)據(jù)文件的安全性,也就是權(quán)限設(shè)置問題。因此MySQL數(shù)據(jù)庫安全配置是至關(guān)重要的。
    2011-03-03
  • Ubuntu配置Mysql主從數(shù)據(jù)庫

    Ubuntu配置Mysql主從數(shù)據(jù)庫

    MySQL數(shù)據(jù)庫支持?jǐn)?shù)據(jù)庫的主從復(fù)制功能,因此在集群方面具有其獨(dú)特的優(yōu)勢。眾多國內(nèi)外大型網(wǎng)站架構(gòu)體系中,均采用了MySQL的主從數(shù)據(jù)庫配置來實(shí)現(xiàn)查詢負(fù)載、數(shù)據(jù)庫熱備等功能。本人在實(shí)際的Web項(xiàng)目中也涉及到這一需求,在此將如何配置實(shí)現(xiàn)做個(gè)簡單小結(jié)。
    2014-07-07

最新評論

成都市| 大竹县| 军事| 巍山| 金寨县| 萨迦县| 都兰县| 临城县| 饶河县| 临邑县| 定日县| 神木县| 通河县| 沈阳市| 东乡县| 聊城市| 定襄县| 延边| 六盘水市| 凤山市| 永仁县| 双牌县| 泰兴市| 乐安县| 曲周县| 宜宾市| 霍邱县| 木里| 屏山县| 桓台县| 涿州市| 江川县| 兰考县| 溧阳市| 太仆寺旗| 青铜峡市| 辛集市| 太康县| 绩溪县| 临沧市| 徐水县|