真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mysql大型SQL文件快速恢復(fù)方案分享

前言

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)開福免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

在使用MySQL數(shù)據(jù)庫的過程中,經(jīng)常需要使用到備份和恢復(fù)數(shù)據(jù)庫,最簡單便捷的方法便是通過導(dǎo)出SQL數(shù)據(jù)文件和導(dǎo)入SQL數(shù)據(jù)文件來完成備份和恢復(fù),但是隨著項目的增長,數(shù)據(jù)量越來越大,每次恢復(fù)就成了一件很頭疼的事情。

當(dāng)我最近一次拉下項目中的5GB大小的數(shù)據(jù)庫到本地進行恢復(fù)時,竟然需要耗時40-50分鐘,想著日后的數(shù)據(jù)擴增,數(shù)據(jù)量越來越大,恢復(fù)成本也越來越高,于是便查閱了一些資料,可以通過以下設(shè)置來提高你的恢復(fù)效率.

1.更改備份參數(shù)

首先我們需要在備份數(shù)據(jù)庫的時候,可以通過更改參數(shù)來提高我們的恢復(fù)效率.

mysqldump --extended-insert

mysqldump的--extended-insert參數(shù)表示批量插入,會將多個insert語句合并成一個語句,與沒有開啟-extended-insert的備份導(dǎo)入效率相差3-4倍.

使用--extended-insert=false導(dǎo)出的sql文件數(shù)據(jù)是這樣的,每行一條insert語句,執(zhí)行效率非常低下

Mysql大型SQL文件快速恢復(fù)方案分享

使用--extended-insert=true導(dǎo)出的表如下圖這種,一個很長的insert語句,會進行批量插入。

Mysql大型SQL文件快速恢復(fù)方案分享

2.調(diào)整MYSQL快速插入?yún)?shù)

如果你的數(shù)據(jù)庫儲存引擎是MYISAM參數(shù)的話,可以將此參數(shù)設(shè)置到512M或256M,MyISAM會使用一種特殊的樹狀緩存來做出更快的批量插入。

相關(guān)文檔:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_bulk_insert_buffer_size

該值默認(rèn)是8M = 8388608byte

查看插入緩沖區(qū)大小

SHOW VARIABLES LIKE '%bulk%';

設(shè)置插入緩沖區(qū)大小(全局)

SET GLOBAL bulk_insert_buffer_size =1024*1024*512;

設(shè)置插入緩沖區(qū)大小(session)

SET bulk_insert_buffer_size =1024*1024*256;

如果需要設(shè)置Mysql重新啟動時,依然保留該值,需要將這段配置添加了my.cnf

[mysqld]
bulk_insert_buffer_size = 256M

3.關(guān)閉檢查項

對于Innodb引擎中,我們可以關(guān)閉一些系統(tǒng)檢查項來實現(xiàn)更快的插入的方案.

//關(guān)閉自動提交
SET autocommit=0;

//關(guān)閉唯一檢查
set unique_checks = 0;

//關(guān)閉外鍵檢查
SET foreign_key_checks=0;

//備份的時候開啟--extended-insert參數(shù)

關(guān)于Innodb批量數(shù)據(jù)加載相關(guān)文檔:https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html

4.實踐

做好以上優(yōu)化后,你的Mysql恢復(fù)效率瞬間會提升一個檔次,在沒做以上參數(shù)優(yōu)化時,每次恢復(fù)數(shù)據(jù)庫都需要耗費40分鐘的時間,設(shè)置后只需要16分鐘左右,我的數(shù)據(jù)庫文件容量在5GB左右.

Mysql大型SQL文件快速恢復(fù)方案分享

以上就這些,途觀有更好的方案和建議的話,希望各位同學(xué)一起探討,Happy Coding。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對創(chuàng)新互聯(lián)的支持。


名稱欄目:Mysql大型SQL文件快速恢復(fù)方案分享
分享地址:http://weahome.cn/article/jhcecg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部