掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
高效實現 Linux MySQL 數據同步的工具推薦

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

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流