婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL數據庫遷移快速導出導入大量數據

MySQL數據庫遷移快速導出導入大量數據

熱門標簽:溫州瑞安400電話怎么申請 昆明電信400電話辦理 百度地圖標注后不顯示 淄博400電話申請 電銷機器人 行業 南昌高頻外呼系統哪家公司做的好 俄國地圖標注app 電話機器人市場趨勢 電銷機器人各個細節介紹

數據庫遷移是我們經常可遇到的問題,對于少量的數據,遷移基本上不會有什么問題。生產環境中,有以下情況需要做遷移工作:

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

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

1、數據庫直接導出,拷貝文件到新服務器,在新服務器上導入。

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

3、數據文件和庫表結構文件直接拷貝到新服務器,掛載到同樣配置的MySQL服務下。

第一種方案的優點:會重建數據文件,減少數據文件的占用空間,兼容性最好,導出導入很少發生問題,需求靈活。缺點:使用傳統導出導入時間占用長。

第二種方案的優點:設置完成后傳輸無人值守,自動完成。缺點:不夠靈活,設置繁瑣,傳輸時間長,異常后很難從異常的位置繼續傳輸。

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

假如數據庫遷移是因為業務瓶頸或項目改造等需要變動數據表結構的(比如分區分表),我們便只能使用第一種方法了。

使用MySQL的SELECT INTO OUTFILE 、LOAD DATA INFILE快速導出導入數據

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

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

下面是一個項目的例子,MySQL由windows平臺遷移到Linux平臺,數據總量12G

Windows平臺導出數據:

tables.txt是保存數據表名稱的文件,通過從文件中讀取數據表名稱,循環導出所有表:如果過程中攝及到分表,可根據分表規則修改導出的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平臺導入數據:

#!/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

數據導入之前需在新機器上創建表結構,12G的數據導出用時3分鐘左右,導入用時4分鐘左右(執行時間根據機器的配置會有所不同,不具有參考價值)

總結

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

您可能感興趣的文章:
  • MySQL數據庫遷移data文件夾位置詳細步驟
  • Mysql的數據庫遷移到另一個機器上的方法詳解
  • oracle數據庫遷移到MySQL的方法總結
  • mysql數據庫遷移至Oracle數據庫
  • mysql Innodb表空間卸載、遷移、裝載的使用方法
  • 關于MySQL數據遷移--data目錄直接替換注意事項的詳解
  • 淺析mysql遷移到clickhouse的5種方法
  • mysql5.5數據庫data目錄遷移方法詳解
  • mysql 備份與遷移 數據同步方法
  • 一次mysql遷移的方案與踩坑實戰記錄

標簽:吐魯番 海口 葫蘆島 安徽 拉薩 洛陽 嘉峪關 甘南

巨人網絡通訊聲明:本文標題《MySQL數據庫遷移快速導出導入大量數據》,本文關鍵詞  MySQL,數據庫,遷移,快速,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據庫遷移快速導出導入大量數據》相關的同類信息!
  • 本頁收集關于MySQL數據庫遷移快速導出導入大量數據的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 麻城市| 福海县| 崇左市| 德化县| 泰州市| 延庆县| 尉犁县| 阳城县| 新丰县| 罗平县| 松潘县| 大埔县| 揭阳市| 云龙县| 小金县| 昌吉市| 双流县| 辉南县| 波密县| 绥德县| 岳普湖县| 上饶市| 洛川县| 平武县| 西安市| 大冶市| 仲巴县| 崇文区| 织金县| 瑞金市| 安平县| 乐平市| 应城市| 德惠市| 沂源县| 观塘区| 泰顺县| 岳西县| 比如县| 承德县| 肥乡县|