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

MySQL命令行導(dǎo)入SQL文件的流程步驟

 更新時間:2025年09月17日 10:34:22   作者:今晚噠老虎  
在數(shù)據(jù)庫管理中,經(jīng)常需要將已有的 SQL 文件導(dǎo)入到 MySQL 數(shù)據(jù)庫中,例如從開發(fā)環(huán)境遷移到生產(chǎn)環(huán)境,或者進(jìn)行數(shù)據(jù)備份恢復(fù)等操作,使用命令行導(dǎo)入 SQL 文件是一種高效、靈活且可自動化的方式,本文給大家介紹了MySQL命令行導(dǎo)入SQL文件的流程步驟,需要的朋友可以參考下

1. 使用命令行直接導(dǎo)入

mysql -u your_username -p your_database < your_file.sql

2.分割大型 SQL 文件

如果 SQL 文件非常大,可以將其分割成多個小文件:

# 使用 split 命令分割文件(每 1000 行一個文件)
split -l 1000 large_file.sql chunk_
 
# 逐個導(dǎo)入分割后的文件
for file in chunk_*; do
  echo "Importing $file..."
  mysql -u your_username -p your_database < $file
done

3.使用進(jìn)度顯示工具(推薦)

對于大型 SQL 文件,可以使用 pv 命令(Pipe Viewer)來顯示導(dǎo)入進(jìn)度:

# 安裝 pv(如果尚未安裝)
sudo apt-get install pv  # Ubuntu/Debian
sudo yum install pv      # CentOS/RHEL
 
# 使用 pv 導(dǎo)入
pv your_file.sql | mysql -u your_username -p your_database

使用pv監(jiān)控導(dǎo)入進(jìn)度

安裝好后,你可以用下面這個命令來導(dǎo)入并查看進(jìn)度:

pv ssy-edu_2025-09-12_11-39-04_mysql_data.sql | mysql -ussy -qh -p ssy-qh

執(zhí)行后,pv會顯示一個進(jìn)度條,包括已用時間、進(jìn)度百分比、數(shù)據(jù)傳輸速率和預(yù)計剩余時間(ETA)。

顯示更多信息
如果你想看更詳細(xì)的信息,可以加上-pterb參數(shù):

pv -pterb ssy-edu_2025-09-12_11-39-04_mysql_data.sql | mysql -ussy -qh -p ssy-qh
  • -p:顯示進(jìn)度條
  • -t:顯示已用時間
  • -e:顯示預(yù)計剩余時間(ETA)
  • -r:顯示數(shù)據(jù)傳輸速率
  • -b:顯示已傳輸?shù)淖止?jié)數(shù)

如果暫時無法安裝pv

查看MySQL進(jìn)程狀態(tài)mysql -u user -p -e 'SHOW PROCESSLIST;'查看當(dāng)前執(zhí)行的SQL語句和狀態(tài)

4.其他優(yōu)化點

先清空數(shù)據(jù)庫再導(dǎo)入 是一個非常合理且推薦的做法,尤其是在你反復(fù)遇到 Table already exists 錯誤和查詢中斷的情況下。這可以確保一個干凈的初始狀態(tài),避免很多沖突。

但是,請務(wù)必謹(jǐn)慎操作,因為清空數(shù)據(jù)庫會永久刪除所有現(xiàn)有數(shù)據(jù)。

非常重要:首先備份?。ㄈ绻阈枰A舢?dāng)前數(shù)據(jù))

如果你當(dāng)前數(shù)據(jù)庫里有需要保留的數(shù)據(jù),請先備份:

# 使用 mysqldump 備份整個數(shù)據(jù)庫
mysqldump -u your_username -p your_database > backup_before_import.sql

或者只備份某些重要的表。

使用 MySQL 命令(逐行執(zhí)行)

-- 方法A:
-- 1. 連接到 MySQL
mysql -u your_username -p
 
-- 2. 選擇你的數(shù)據(jù)庫
USE your_database_name;
 
-- 3. 禁用外鍵檢查,避免刪除時因外鍵約束而失敗
SET FOREIGN_KEY_CHECKS = 0;
 
-- 4. 生成并執(zhí)行刪除所有表的命令
-- 這會查詢出所有表名,并生成一系列的 DROP TABLE 語句
SELECT CONCAT('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
 
-- 【注意】上面一句只會生成命令,不會執(zhí)行。你需要復(fù)制輸出的結(jié)果,然后粘貼執(zhí)行。
-- 或者使用以下更自動化的方法:
-- 方法B:使用命令行工具(更高效,一鍵完成)
# 此命令會直接清空整個數(shù)據(jù)庫
mysql -u your_username -p -e "SET FOREIGN_KEY_CHECKS = 0; \
SELECT CONCAT('DROP TABLE IF EXISTS \`', table_name, '\`;') \
FROM information_schema.tables \
WHERE table_schema = 'your_database_name'" | \
grep '^DROP' | \
mysql -u your_username -p your_database_name

一句更強(qiáng)力的清空命令(包括視圖和存儲過程):

# 1. 刪除整個數(shù)據(jù)庫(這會刪除所有數(shù)據(jù)和表結(jié)構(gòu))
mysql -u your_username -p -e "DROP DATABASE your_database_name;"
 
# 2. 創(chuàng)建一個新的空數(shù)據(jù)庫
mysql -u your_username -p -e "CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

這是最徹底的方法,推薦使用。

以上就是MySQL命令行導(dǎo)入SQL文件的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于MySQL命令行導(dǎo)入SQL文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • CentOS 7下使用rpm包安裝mysql 5.7.18

    CentOS 7下使用rpm包安裝mysql 5.7.18

    這篇文章主要為大家詳細(xì)介紹了CentOS 7下使用rpm包安裝mysql 5.7.18的教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • MySL實現(xiàn)如等級成色等特殊順序的排序詳解

    MySL實現(xiàn)如等級成色等特殊順序的排序詳解

    這篇文章主要為大家介紹了MySL實現(xiàn)如等級成色等特殊順序的排序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 關(guān)于MySQL 大批量插入時如何過濾掉重復(fù)數(shù)據(jù)

    關(guān)于MySQL 大批量插入時如何過濾掉重復(fù)數(shù)據(jù)

    這篇文章主要介紹關(guān)于MySQL 大批量插入時如何過濾重復(fù)數(shù)據(jù),比如線上庫有6個表存在重復(fù)數(shù)據(jù),其中2個表比較大,96萬+和30萬+,因為之前處理過相同的問題,就直接拿來了上次的Python去重腳本,腳本很簡單,就是連接數(shù)據(jù)庫,查出來重復(fù)數(shù)據(jù),循環(huán)刪除,需要的朋友可以參考下
    2021-09-09
  • MySql報錯:Duplicate entry ‘10‘ for key ‘PRIMARY‘的解決方案

    MySql報錯:Duplicate entry ‘10‘ for key&nbs

    經(jīng)常遇到這個問題,今天我把這個問題記錄下來,以后如果有其他人遇到相同的問題,不至于困惑,在操作數(shù)據(jù)庫的時候,經(jīng)常會出現(xiàn)Duplicate entry ‘10’ for key 'PRIMARY’這樣的報錯,本文將給大家講講如何解決這個問題,需要的朋友可以參考下
    2023-10-10
  • windows下MySQL數(shù)據(jù)庫移動到其它盤

    windows下MySQL數(shù)據(jù)庫移動到其它盤

    大家好,本篇文章主要講的是windows下MySQL數(shù)據(jù)庫移動到其它盤,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏
    2021-12-12
  • MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決

    MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決

    本文主要介紹了MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • MySQL ALTER語法的運用方法

    MySQL ALTER語法的運用方法

    我們今天主要向大家介紹的是MySQL ALTER語法的實際運用,如果你對這一技術(shù),心存好奇的話,以下的文章將會揭開它的神秘面紗。
    2010-11-11
  • mysql允許所有host訪問的方法

    mysql允許所有host訪問的方法

    下面小編就為大家?guī)硪黄猰ysql允許所有host訪問的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Mysql和redis緩存不一致問題的解決方案

    Mysql和redis緩存不一致問題的解決方案

    在高并發(fā)的情況下,如果所有的數(shù)據(jù)都從數(shù)據(jù)庫中去讀取,那再強(qiáng)大的數(shù)據(jù)庫系統(tǒng)都承受不了這個壓力,因此我們會將部分?jǐn)?shù)據(jù)放入緩存中,比如放入redis中,這篇文章主要給大家介紹了關(guān)于Mysql和redis緩存不一致問題的解決方案,需要的朋友可以參考下
    2022-08-08
  • MySQL數(shù)據(jù)庫查詢之多表查詢總結(jié)

    MySQL數(shù)據(jù)庫查詢之多表查詢總結(jié)

    最近遇到了多表查詢的需求,也稱為關(guān)聯(lián)查詢,指兩個或更多個表一起完成查詢操作,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫查詢之多表查詢的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評論

宁海县| 渑池县| 化隆| 宁德市| 景泰县| 德州市| 安新县| 陵水| 凤山县| 仪陇县| 克东县| 西贡区| 革吉县| 莒南县| 梓潼县| 瑞丽市| 登封市| 昌黎县| 嘉义县| 冕宁县| 炉霍县| 内丘县| 新源县| 宿迁市| 忻城县| 南汇区| 蛟河市| 彰化市| 合水县| 崇信县| 淮北市| 慈利县| 苏尼特左旗| 玛曲县| 郧西县| 武安市| 北海市| 齐齐哈尔市| 缙云县| 平安县| 奈曼旗|