當前位置:首頁 » 編程語言 » mysql導入sql大文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql導入sql大文件

發布時間: 2022-09-05 03:23:41

❶ mysql的sql文件導入有沒有文件大小限制

非root用戶運行MySQL,當MySQL配置比較高時,MySQL運行中生效的參數值與配置的值不一樣,所以具體分析一下MySQL是怎麼調整這些參數值的。
這篇文章的目的是為了說明在系統資源不夠的情況下,MySQL 是怎麼調整者三個參數的。說明此文涉及到三個參數open_files_limit、max_connections、table_open_cache。與這三個參數相關的系統資源是打開文件數限制,即文件描述符(fd)限制。系統參數與文件描述符的關系-max_connection&fd: 每一個MySQL connection 都需要一個文件描述符;
-table_open_cache&fd打開一張表至少需要一個 文件描述符,如打開MyISAM需要兩個fd;
- 系統最大打開文件數可以通過ulimit -n查看。MySQL調整參數的方式

  • 根據配置(三個參數的配置值或默認值)計算request_open_files(需要的文件描述符);

  • 2.獲取有效的系統的限制值effective_open_files; 3.根據effective_open_files調整request_open_files; 4.根據調整後的request_open_files,計算實際生效的參數值(show variables可查看參數值)。計算request_open_filesrequest_open_files有三個計算公式:1. // 最大連接數+同時打開的表的最大數量+其他(各種日誌等等)2. limit_1= max_connections+table_cache_size * 2 + 10;3. 4. //假設平均每個連接打開的表的數量(2-4)5. //源碼中是這么寫的:6. //We are trying to allocate no less than7. // max_connections*5 file handles8. limit_2= max_connections * 5;9. 10. //mysql 默認的默認是500011. limit_3= open_files_limit ? open_files_limit : 5000;12. 13. 所以open_files_limit期待的最低14. request_open_files= max(limit_1,limit_2,limit_3);計算effective_open_files:MySQL 的思路:

  • 在有限值的的范圍內MySQL盡量將effective_open_files的值設大。
  • 修正request_open_files

  • requested_open_files= min(effective_open_files,request_open_files)

    重新計算參數值

  • 修正open_files_limit

  • open_files_limit=effective_open_files

  • 修正max_connections

  • max_connections根據request_open_files來做修正。1. limit = requested_open_files - 10 - TABLE_OPEN_CACHE_MIN * 2;
  • 如果配置的max_connections值大於limit,則將max_connections的值修正為limit

  • 其他情況下max_connections保留配置值


  • 修正table_cache_size

  • table_cache_size會根據request_open_files來做修正1. // mysql table_cache_size 最小值,4002. limit1 = TABLE_OPEN_CACHE_MIN3. // 根據 requested_open_files 計算4. limit2 = (requested_open_files - 10 - max_connections) / 25. limit = max(limit1,limt2);
  • 如果配置的table_cache_size值大於limit,則將table_cache_size的值修正為limit

  • 其他情況下table_cache_size保留配置值


  • 舉例

  • 以下用例在非 root 用戶下運行
  • 參數設置:


  • //mysql
  • max_connections = 500

  • table_open_cache = 999
  • //ulimit -n

    1500

    生效的值:


  • open_files_limit = 1500 max_connections = min[(1500 - 10 - 800),500] = 500
  • table_open_cache = ( 1500 - 10 - 500) / 2 =495

❷ mysql 的sql文件太大怎麼導入

我有個大的 SQL 文件要回放,需要馬上做,但又怕壓死業務,怎麼辦?

先來建一個測試庫:

可以看到 CPU 已經非常冷靜,並且緩慢的處理數據。

💡小貼士:pv 工具既可以用於顯示文件流的進度,也可以用於文件流的限速。在本實驗中,我們用 PV 來限制 SQL 文件發到 MySQL client 的速度,從而限制 SQL 的回放速度,達到不影響其他業務的效果。

❸ 如何快速導入大SQL文件到MySQL資料庫

大SQL文件導入資料庫的方法:
1、點擊"開始"-"運行",輸入cmd,然後回車進入到DOS界面。
2、進入MYSQL安裝目錄。
3、假如MYSQL安裝在D盤,SQL文件也在D盤,加入命名為demo.sql,操作的方法是:
輸入"D:",回車即進入到D盤了,然後輸入"cd mysql/bin"並回車
4、再輸入"mysql -u root -p database d:/demo.sql",回車顯示要輸入密碼
5、如果MYSQL資料庫的密碼為空則不輸入任何東西回車,沒有出現錯誤說明導入成功。
注意:上面的database是要導入的資料庫名。

❹ mysql資料庫 文件過大 如何導入

  1. 點擊電腦『運行』,輸入cmd,然後點擊確定。

3.執行下列語句:

sqlcmd -S localhost -U sa -P pwzyy!@#123 -i C:.sql


說明:


-S:資料庫伺服器地址,我這里是本機直接用localhost

-U:用戶名

-P:密碼

-d:資料庫名

-i:sql文件

❺ mysql如何導入sql文件

給你一段:
執行sql腳本,可以有2種方法:
第一種方法:
在命令行下(未連接資料庫),輸入
mysql
-h
localhost
-u
root
-p123456
<
F:\hello
world\niuzi.sql
(注意路徑不用加引號的!!)
回車即可.
第二種方法:
在命令行下(已連接資料庫,此時的提示符為
mysql>
),輸入
source
F:\hello
world\niuzi.sql
(注意路徑不用加引號的)
或者
\.
F:\hello
world\niuzi.sql
(注意路徑不用加引號的)
回車即可

❻ mysql文件sql大容量怎麼導入

  • 打開MySQL安裝目錄下的my.ini文件,添加max_allowed_packet,設置大小為64M,如下:

❼ mysql如何導入sql

可以直接使用source命令進行導入,如 source /tset.sql,即可導入這個文件下的資料庫文件了。

❽ mysql怎麼導入大型sql文件

打開MySQL安裝目錄下的my.ini文件,添加max_allowed_packet,設置大小為64M,如下:

在服務中重新啟動MySQL服務,在命令行窗口(命令:show VARIABLES like '%max_allowed_packet%';)查看是否修改成功:

3
在命令行窗口中使用source命令(source sql文件路徑)導入sql文件,如下(我們可以看到,執行效率比較高):

4
在Navicat Premium工具中查看是否導入成功:

5
查詢導入表的數量(小編工導入了44張表,每張表的都有超過五百萬條數據)

❾ 如何在mysql中導入/導出超大的sql文本文件

在實際工作中,有時需要導入大容量sql文件到MySQL,通常有以下三種方法:
(1)通過phpmyadmin,不推薦,有內存等的限制;
(2)通過Navicat Premium工具運行sql,不推薦,效率低;
(3)通過source命令導入,推薦,效率高,經測試,小編導入一個3.02G的文件耗時3分08秒;
下面,小編將整個過程進行重現,希望對大家有幫助。
https://jingyan..com/article/295430f1ef89ab0c7f00505a.html