簡單講解MySQL的數(shù)據(jù)庫復制方法
MySQL復制其實就是把數(shù)據(jù)從一個節(jié)點(master) 拷貝到另一個節(jié)點(slaves), 當然根據(jù)應用架構(gòu)的不同,采用的方式也不同,MySQL服務器之間的復制使用的是二進制日志機制.對master的更新與變動都會作為事件(event)記錄在日志中,日志中的信息會隨變化的不同被記錄成不同的格式.slaves被配置成從master讀取日志,并且執(zhí)行二進制日志中的事件到slave本地數(shù)據(jù)庫.一旦master啟動二進制日志功能,那么所有語句操作都會被記錄下來,每一個slave會收到一份整個日志內(nèi)容的拷貝.slave的責任就是決定日志中的哪條語句需要被執(zhí)行,而我們不能通過配置master來僅僅記錄某些特定的事件.如果您沒有另行指定,在主服務器二進制日志中的所有事件都在slave上執(zhí)行.如果需要,還可以配置slave僅應用來自于特定數(shù)據(jù)庫或表的事件.
根據(jù)上圖來說說MySQL復制的工作機制,復制的過程在主從架構(gòu)中一般是有三個線程來完成復制工作的,主服務器上dump thread ,從服務器I/O thread ,從服務器sql thread, 如果想使用多線程的話需要打補丁的, 根據(jù)上圖一主一從的架構(gòu)復制是這樣工作的,主服務器將操作寫入二進制日志,由主服務器上的dump線程將日志發(fā)送到從服務器上的I/O線程,然后存儲為中繼日志,而由sql線程根據(jù)中繼日志將數(shù)據(jù)寫入從服務器中,下面來配置下這樣的復制架構(gòu),
MySQL同主機不同數(shù)據(jù)庫的復制命令:注意運行在Terminal中,不運行在MySQL命令行中。
mysqldump Portal_DEV -u root -ppassword1$ --add-drop-table | mysql Portal_Optimize -u root -ppassword1$
在復制過程中,出現(xiàn)如下報錯:
ERROR 1153 (08S01) at line 1160: Got a packet bigger than 'max_allowed_packet' bytes mysqldump: Got errno 32 on write
需要將my.cnf中的max_allowed_packet 放大,我本機默認是1M,放大至32M。重啟MySQL。
OK. 以上方案適用于小數(shù)據(jù)量的數(shù)據(jù)庫。下面來個大容量(1G以上)的。
mysqldump -uroot -ppassword --quick Portal_DEV | gzip > Portal_DEV.contents.gz
通過以上命令,將Portal_DEV數(shù)據(jù)庫導成Portal_DEV.contents.gz壓縮文件。
gunzip < Portal_DEV.contents.gz | mysql -uroot -ppassword Portal_Optimize
然后通過以上命令,將Portal_DEV導入Portal_Optimize數(shù)據(jù)庫。
Perfect, it's done!!!
- MySQL主從復制的原理及配置方法(比較詳細)
- mysql中復制表結(jié)構(gòu)的方法小結(jié)
- MySQL復制表結(jié)構(gòu)和內(nèi)容到另一張表中的SQL語句
- MySQL快速復制數(shù)據(jù)庫數(shù)據(jù)表的方法
- Mysql主從復制(master-slave)實際操作案例
- mysql主從同步復制錯誤解決一例
- mysql跨數(shù)據(jù)庫復制表(在同一IP地址中)示例
- mysql同步復制搭建方法指南詳細步驟
- 詳解MySQL雙活同步復制四種解決方案
- MySQL 數(shù)據(jù)庫雙向鏡像、循環(huán)鏡像(復制)
- mysql 復制原理與實踐應用詳解
相關(guān)文章
MySQL數(shù)據(jù)庫INSERT、UPDATE、DELETE以及REPLACE語句的用法詳解
本篇文章是對MySQL數(shù)據(jù)庫INSERT、UPDATE、DELETE以及REPLACE語句的用法進行了詳細的分析介紹,需要的朋友參考下2013-06-06MySQL數(shù)據(jù)庫-錯誤1166 Incorrect column name
這篇文章主要介紹了MySQL數(shù)據(jù)庫-錯誤1166 Incorrect column name,需要的朋友可以參考下2016-04-04修改MySQL8.0 默認的數(shù)據(jù)目錄(快捷操作無配置)
這篇文章主要介紹了修改MySQL8.0 默認的數(shù)據(jù)目錄(快捷操作無配置),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11