新聞中心
高效實現(xiàn) Linux MySQL 數(shù)據(jù)同步的工具推薦

從事西部信息服務(wù)器托管,服務(wù)器租用,云主機,虛擬主機,域名注冊,CDN,網(wǎng)絡(luò)代維等服務(wù)。
在服務(wù)器運行的 web 應(yīng)用程序中,通常會使用 MySQL 數(shù)據(jù)庫來存儲和管理數(shù)據(jù)。為了保證數(shù)據(jù)在不同服務(wù)器之間的一致性,必須采用一種高效的工具實現(xiàn) Linux MySQL 數(shù)據(jù)同步。
為了幫助大家實現(xiàn)這個目標(biāo),本文將向大家介紹一些更佳的 Linux MySQL 數(shù)據(jù)同步工具。
1. Maatkit
Maatkit 是一款免費的 MySQL 開源工具集,它包含多達 30 種管理工具。其中,mk-table-sync 工具可以用來同步 MySQL 數(shù)據(jù)庫的數(shù)據(jù)。
與其他工具不同,mk-table-sync 通過比較一組表,然后生成一系列修改語句,這些語句包括更新、插入和刪除操作,并且可以正確地處理不同表之間的主鍵和自動遞增列等約束。
2. mysqldump
mysqldump 是一款常用的備份和數(shù)據(jù)庫同步工具,它可以幫助你快速地將 MySQL 數(shù)據(jù)庫備份到另一臺服務(wù)器中。
為了使用mysqldump來同步你的MySQL數(shù)據(jù)庫,你需要使用命令行終端,然后輸入如下命令:
$ mysqldump -u username -p database_name > database_name.sql
其中,username 是你的 MySQL 用戶名,database_name 是你想同步的數(shù)據(jù)庫名稱。
3. Percona XtraBackup
Percona XtraBackup 是一款新興的備份和恢復(fù)工具,它允許你在不停止服務(wù)器的情況下創(chuàng)建數(shù)據(jù)備份,并且支持使用流式備份,這意味著你可以在不減少生產(chǎn)部署時間的情況下同步你的MySQL數(shù)據(jù)庫。
此外,Percona XtraBackup 還支持完全增量備份,這意味著它只需要從上一次備份之后更新過的數(shù)據(jù)進行備份,從而大大提高了同步速度。
4. MySQL Replication
MySQL Replication 是 MySQL 內(nèi)置的數(shù)據(jù)同步工具,它允許你將一個 MySQL 實例的更改同步到另一個 MySQL 實例中。這意味著你可以使用多臺服務(wù)器來管理你的數(shù)據(jù)環(huán)境,從而提高了數(shù)據(jù)的可用性和可靠性。
為了使用 MySQL Replication 實現(xiàn) MySQL 數(shù)據(jù)庫同步,你需要在主服務(wù)器上啟用二進制日志,然后在從服務(wù)器上啟用從服務(wù)器。在主服務(wù)器上進行修改后,MySQL Replication 將相應(yīng)地記錄修改,并將它們發(fā)送到所有已連接的從服務(wù)器上。
5. Flyway
Flyway 是一款開源的數(shù)據(jù)庫遷移和版本控制工具,它可以幫助你在不同環(huán)境中重復(fù)地創(chuàng)建和管理你的數(shù)據(jù)庫。
使用 Flyway,你可以在任何地方創(chuàng)建和修改數(shù)據(jù)庫,在不同的環(huán)境中進行版本控制,并在生產(chǎn)環(huán)境中輕松地同步你的 MySQL 數(shù)據(jù)庫。此外,F(xiàn)lyway 還支持多個數(shù)據(jù)庫類型,可以輕松地在不同的 MySQL、PostgreSQL、Oracle 等數(shù)據(jù)庫中實現(xiàn)數(shù)據(jù)同步。
結(jié)論
在我們的工作中,MySQL 數(shù)據(jù)庫的同步是非常重要的。在本文中,我們向大家推薦了一些更佳的 Linux MySQL 數(shù)據(jù)同步工具,包括 Maatkit、mysqldump、Percona XtraBackup、MySQL Replication 和 Flyway 等,這些工具可以幫助你快速地實現(xiàn) MySQL 數(shù)據(jù)庫的同步,從而提高生產(chǎn)力并減少工作壓力。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220replicate-ignore-db=mysql 為什么無效
dear, 我可能碰到了跟你一樣的問題。你可以參考下
首先我的環(huán)境是mysql5.5
然后我的主機上設(shè)置了binlog記錄數(shù)據(jù)庫為db1和db2.
然后備機上設(shè)置了同步數(shù)據(jù)庫db1,并且忽略數(shù)據(jù)庫db2.
但是此時我使用客戶端連接主機,并執(zhí)行的sql插入到db1和db2。
但是發(fā)現(xiàn)db1和db2的數(shù)據(jù)都同步到了備機上。
找了好久的原因發(fā)現(xiàn)我在連接后,設(shè)置了use db1這個命令,然后插入到db2的sql使用的是insert into db2.test () values ();的sql,梁襪
修改插入到db2的sql時鬧叢使用use db2;發(fā)現(xiàn)設(shè)置的不同液渣櫻步該庫才成功
replicate-ignore-db=mysql 為什么無效
MySQL 提供了數(shù)據(jù)庫的同步功能,這對我們實現(xiàn)數(shù)據(jù)庫的冗災(zāi)、備份、恢復(fù)、負(fù)載均衡等都是有極大幫助的。本文描述了常見的同步設(shè)置方法。
一、準(zhǔn)備服務(wù)器
由于MySQL不同版本之間的(二進制日志)binlog格輪簡式可能會不一樣,因此更好的搭配組合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
本文中,我們假設(shè)主服務(wù)器(以下簡稱Master)和從服務(wù)器(以下簡稱Slave)的版本都是5.0.15,操作系統(tǒng)是Linux Ubuntu 5.0.x。
假設(shè)同步Master的主機名為:rep1,Slave主機名為:rep2,2個MySQL的basedir目錄都是/usr/local/mysql,datadir都是:/usr/local/mysql/data。
二、設(shè)置同步服務(wù)器
1、設(shè)置同步Master
每個同步服務(wù)器都必須設(shè)定一個唯一的編號,否則同步就不能正常運行了。接下來開始修改 my.cnf,增加以下幾行:
server-id = 1
log-bin
set-variable=binlog-ignore-db=mysql
然后在Master上增加一個賬號專門用于同步,如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY ‘rep’;
如果想要在Slave上有權(quán)限執(zhí)行臘衡褲 “LOAD TABLE FROM MASTER” 或 “LOAD DATA FROM MASTER” 語句的話,必須授予全局的 FILE 和 SELECT 權(quán)限:
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@rep2 IDENTIFIED BY ‘rep’;
第三行表示不記攔純錄數(shù)據(jù)庫mysql的更新日志,這就避免了Master上的權(quán)限設(shè)置等被同步到Slave上,如果對這方面沒有限制,就可以不設(shè)置這個參數(shù)。
接下來備份Master上的數(shù)據(jù),首先執(zhí)行如下SQL語句:
mysql>FLUSH TABLES WITH READ LOCK;
不要退出這個終端,否則這個鎖就不生效了;接著導(dǎo)出數(shù)據(jù),可以直接打包壓縮數(shù)據(jù)文件,也可以使用mysqldump工具來做,推薦前者的方法,這樣更為快捷簡便。
root$cd /usr/local/mysql
root$tar zcf data.tar.gz ./data (在這里也可能是 “var” 等其它實際存放數(shù)據(jù)文件的目錄,根據(jù)實情而定)
然后將這些數(shù)據(jù)拷貝到Slave服務(wù)器上,解開,設(shè)置好正確的權(quán)限及屬主等;之后,執(zhí)行 “UNLOCK TABLES” 語句來釋放鎖。
學(xué)習(xí)Linux的步驟是怎樣的
對于Linux的學(xué)習(xí),可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方稿帆逗向細化階段
之一階段:初級階段
初級階段需要把linux學(xué)習(xí)路線搞清楚,任何學(xué)習(xí)都是循序漸進的,所以學(xué)linux也是需要有一定的路線。
1. Linux基礎(chǔ)知識、基本命令;
2. Linux用戶及權(quán)限基礎(chǔ);
3. Linux系統(tǒng)進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎(chǔ)知識之后,對上層的應(yīng)用和服務(wù)進行深入學(xué)習(xí),其中說到服務(wù)肯定涉及到網(wǎng)絡(luò)的相關(guān)知識,是需要花時間學(xué)習(xí)的。
1. TCP/IP網(wǎng)絡(luò)基礎(chǔ);
2. Linux企業(yè)常用服務(wù);
3. Linux企業(yè)級安全原理和防范技巧;
4. 加密/解密原理及數(shù)據(jù)安全、系統(tǒng)服務(wù)訪問控制及服務(wù)安全基礎(chǔ);
5. iptables安全策略構(gòu)建;
6. shell腳本進階;
7. MySQL應(yīng)用原理及管理入門
第三階段:Linux高級進階
1. http服務(wù)代理緩存加速;
2. 企業(yè)級負(fù)載集群;
3. 企業(yè)級高可用集群;
4. 運維監(jiān)控zabbix詳解轎拍;
5. 運維自動化學(xué)習(xí);
第四階段:Linux資深方向細化
1. 大數(shù)據(jù)方向;
2. 云計算方向;
3. 運維開發(fā);
4. 自動化運維;
5. 運維架構(gòu)師
以上是Linux的一個學(xué)習(xí)方向和路線,對于Linux學(xué)習(xí)是一個需要堅持的過程,也許通過自學(xué)或者培訓(xùn),3至6個月都可以把基本知識學(xué)會,但是重在實踐,深入的思考和不斷的摸索,你鍵賣會發(fā)現(xiàn)Linux更多的美!
按照這個路線圖學(xué)習(xí)就好了
Linux云計算運維到底要學(xué)哪些東西?
1.Linux基礎(chǔ)
1.Linux企業(yè)級安吵鄭裝(kickstart,cobbler批量安裝)
Centos7
互聯(lián)網(wǎng)企業(yè)
麒麟Linux
傳統(tǒng)企業(yè)國企事業(yè)單位央企,少量互聯(lián)網(wǎng)公司
ubuntu20.04
程序員主導(dǎo)互聯(lián)網(wǎng)公司
2.企業(yè)級優(yōu)化
3.常用命令
01.目錄命令
cd/pwd/ls/cp/mv/rm -fr/mkdir
02.文件命令
touch/cat/echo/less/more/head/tail/sed/awk/grep/egrep/find/which/where
03.用戶命令
useradd,usermod,userdel,passwd,chpasswd,chage,su,sudo,visudo
04.權(quán)限命令
chown/chmod/chattr/lsattr
05.基本命令
reboot,halt,shutdown,init,uname,hostname
06.網(wǎng)絡(luò)命令
ifconfig/ip/arp/ifup/ifdown/netstat/ss/lsof/nc/nmap/tcpdump
07.監(jiān)測資源
top/uptime/iostat/iftop/htop/sar/vmstat
08.磁盤管理
fdisk/parted/mkfs/mount/umount
09.Linux三劍客
grep/egrep/sed/awk
4.常用知識
1.文件、目錄及屬性
2.用戶管理
3.權(quán)限管理
4.網(wǎng)絡(luò)管理
5.正則表達式
6.定時任務(wù)
7.磁盤管理
8.安裝系統(tǒng)
5.基礎(chǔ)網(wǎng)絡(luò)服務(wù)
NFS網(wǎng)絡(luò)文件系統(tǒng)、Ceph分布式文件系統(tǒng)
rsync異地同步
sersync異地實時同步
nginx web(Apache)
php-fpm/tomcat/python/go動態(tài)服務(wù)
mysql/redis/mongodb/es搜索
nginx/lvs/haproxy
hearbeat/keepalived
安全:jumpserver/iptables/firewalld/openvpn
批量管理:ssh/ansible/saltstack
6.高級網(wǎng)絡(luò)服務(wù)
01.代碼上線CICD
svn/git/gitlab
jenkins
maven/ant編譯工具
jira
02.分布式日志收集
ELFK分布升稿頌式日志收集集群
03.監(jiān)控
ZABBIX
普羅米修斯
04.云計算
KVM/OPENSTACK(過時了,又難又不好學(xué))
05.容器技術(shù)
docker+k8s(必會)
微服務(wù)
7.DBA課敬鎮(zhèn)程專業(yè)中級水平(15K)
mysql
redis
monbodb
es
8.DEVOPS自動化
bash shell
python基礎(chǔ)
go基礎(chǔ)
01.代碼上線CICD
svn/git/gitlab
jenkins
maven/ant編譯工具
jira
9.kafka消息隊列/ceph分布式存儲/zookeper
10.安全、python、go一部分內(nèi)容
11.詳細就業(yè)指導(dǎo)
年齡大
年齡小
學(xué)歷低
沒經(jīng)驗
如何將linux master 進程改為slave
mysql中實現(xiàn)master-slave同步:
之一步:分別在兩臺機子上各裝一個mysql (本人測試機系統(tǒng)為unbutu,mysql5.5),如只有一臺機器,需使mysql的端口不同(3306,3307)。
第二步:找到mysql 的my.cnf文件。
$cd /etc/mysql 進山灶入該目錄。
$ vim my.cnf 如是只讀,且不允許修改。需用$ sudo vim my.cnf
第三步:修改my.cnf 中的配置項:
1 需做如下操作:
將bind-address=127.0.0.1 改為 bind-address=0.0.0.0
將#server-id=1
#log_bin=/var/log/mysql/mysql-bin.log
的注釋(#)去掉。
添加:character-set-server=utf-8 #保證編碼一致。
填加完成后,保存并退出即可。
第四步:
用
root權(quán)限
登錄并創(chuàng)建slave數(shù)據(jù)庫逗納扮服務(wù)器用戶:
$mysql -uroot -p
mysql>grant replication slave,replication client on *.* to liang@’192.168.10.21′ indntified by ‘liang’;
mysql>grant replicatin slave on *.* to liang@’192.168.10.21′ indntified by ‘liang’;
第五步:重啟mysql服務(wù)。
$ sudo /etc/init.d/mysql restart #如不能正常啟動茄碧,請檢查my.cnf配置項以及mysql 的錯誤日志。
錯誤日志位置:/var/log/mysql/error.log
到此已將master配置完畢。
slave配置。
第六步:修改slave的my.cnf
配置文件
。
如下:
bind-address=0.0.0.0
server-id = 2
master-host= 192.168.10.24
master-user= liang
master-password = liang
master-port= 3306
log_bin = /var/log/mysql/mysql-bin.log
log-slave-updates
skip-slave-start
character-set-server=utf8
關(guān)于linux mysql 同步工具的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應(yīng)用于計算機網(wǎng)絡(luò)、設(shè)計、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
文章題目:高效實現(xiàn)linuxmysql數(shù)據(jù)同步的工具推薦(linuxmysql同步工具)
標(biāo)題來源:http://m.fisionsoft.com.cn/article/cogchho.html


咨詢
建站咨詢
