您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何設置MySql數據同步,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql從3.23.15版本以后提供數據庫復制功能。利用該功能可以實現兩個數據庫同步,主從模式,互相備份模式的功能。
數據庫同步復制功能的設置都在mysql的設置文件中體現。mysql的配置文件(一般是my.cnf)
在unix環境下在/etc/mysql/my.cnf 或者在mysql用戶的home目錄下面的my.cnf。
window環境中,如果c:根目錄下有my.cnf文件則取該配置文件。當運行mysql的winmysqladmin.exe工具時候,該工具會把c:根目錄下的my.cnf 命名為mycnf.bak。并在winnt目錄下創建my.ini。mysql服務器啟動時候會讀該配置文件。所以可以把my.cnf中的內容拷貝到 my.ini文件中,用my.ini文件作為mysql服務器的配置文件。
設置方法:
設置范例環境:
操作系統:window2000 professional
mysql:4.0.4-beta-max-nt-log
A ip:10.10.10.22
B ip:10.10.10.53
A:設置
1.增加一個用戶最為同步的用戶帳號:
GRANT FILE ON *.* TO backup@'10.10.10.53' IDENTIFIED BY ‘1234’
2.增加一個數據庫作為同步數據庫:
create database backup
B:設置
1.增加一個用戶最為同步的用戶帳號:
GRANT FILE ON *.* TO backup@'10.10.10.22' IDENTIFIED BY ‘1234’
2.增加一個數據庫作為同步數據庫:
create database backup
主從模式:A->B
A為master
修改A mysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=1
log-bin
#設置需要記錄log 可以設置log-bin=c:mysqlbakmysqllog 設置日志文件的目錄,
#其中mysqllog是日志文件的名稱,mysql將建立不同擴展名,文件名為mysqllog的幾個日志文件。
binlog-do-db=backup #指定需要日志的數據庫
重起數據庫服務。
用show master status 命令看日志情況。
B為slave
修改B mysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 預設重試間隔60秒
replicate-do-db=backup 告訴slave只做backup數據庫的更新
重起數據庫
用show slave status看同步配置情況。
注意:由于設置了slave的配置信息,mysql在數據庫目錄下生成master.info
所以如有要修改相關slave的配置要先刪除該文件。否則修改的配置不能生效。
雙機互備模式。
如果在A加入slave設置,在B加入master設置,則可以做B->A的同步。
在A的配置文件中 mysqld 配置項加入以下設置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中 mysqld 配置項加入以下設置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup
注意:當有錯誤產生時*.err日志文件。同步的線程退出,當糾正錯誤后要讓同步機制進行工作,運行slave start
重起AB機器,則可以實現雙向的熱備。
測試:
向B批量插入大數據量表AA(1872000)條
A數據庫每秒鐘可以更新2500條數據。
關于“如何設置MySql數據同步”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。