當前位置:首頁 » 操作系統 » mysql主從復制資料庫

mysql主從復制資料庫

發布時間: 2024-05-04 12:37:55

❶ 配置mysql主從 資料庫怎麼同步過來

主從資料庫同步 可以參考如下:
一、 概述
MySQL從3.23.15版本以後提供資料庫復制(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、互相備份模式的功能。本文檔主要闡述了如何在linux系統中利用mysql的replication進行雙機熱備的配置。
二、 環境
操作系統:Linux 2.6.23.1-42.fc8 # SMP(不安裝XEN)
Mysql版本:5.0.45-4.fc8
設備環境:PC(或者虛擬機)兩台
三、 配置
資料庫同步復制功能的設置都在MySQL的配置文件中體現,MySQL的配置文件(一般是my.cnf):在本環境下為/etc/my.cnf。
3.1 設置環境:
IP的設置:
A主機 IP:10.10.0.119
Mask:255.255.0.0
B主機 IP:10.10.8.112
Mask:255.255.0.0
在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status查看防火牆狀態。如果防火牆狀態為仍在運行。使用service iptables stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命令來禁用或定製。
最終以兩台主機可以相互ping通為佳。
3.2 配置A主(master) B從(slave)模式
3.2.1 配置A 為master
、增加一個用戶同步使用的帳號:
GRANT FILE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
GRANTREPLICATION SLAVE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
賦予10.10.8.112也就是Slave機器有File許可權,只賦予Slave機器有File許可權還不行,還要給它REPLICATION SLAVE的許可權才可以。
、增加一個資料庫作為同步資料庫:
create database test;
、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
、修改配置文件:
修改A的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id = 1 #Server標識
log-bin
binlog-do-db=test #指定需要日誌的資料庫
、重起資料庫服務:
service mysqld restart
查看server-id:
show variable like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
、用show master status/G命令看日誌情況。
正常為:
mysql> show master status/G
*************************** 1. row ***************************
File: mysqld-bin.000002
Position: 198
Binlog_Do_DB: test,test
Binlog_Ignore_DB:
1 row in set (0.08 sec)
3.2.2 配置B 為slave
、增加一個資料庫作為同步資料庫:
create database test;
、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
、修改配置文件:
修改B的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id=2
master-host=10.10. 0.119
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔秒
replicate-do-db=test #告訴slave只做backup資料庫的更新
、重起資料庫服務:
service mysqld restart
查看server-id:
show variables like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
、用show slave status/G命令看日誌情況。
正常為:
mysql> show slave status/G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.0.119
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 236
Relay_Master_Log_File: mysqld-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,test
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 236
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.01 sec)
3.2.3 驗證配置
分別使用insert, delete , update在A主機進行增刪改查資料庫;查看B主機的資料庫是否與A主機一致;若一致,則配置成功。
3.3雙機互備模式
如果在A主機加入slave設置,在B主機加入master設置,則可以做B->A的同步。
、在A主機的配置文件中 mysqld配置項加入以下設置:
master-host=10.10.8.112
master-user=backup
master-password=1234
replicate-do-db=test
master-connect-retry=10
、在B的配置文件中 mysqld配置項加入以下設置:
log-bin
binlog-do-db=test
注意:當有錯誤產生時,*.err日誌文件同步的線程退出,當糾正錯誤後,要讓同步機制進行工作,運行slave start。
重起A、B機器,則可以實現雙向的熱備份。
四、 常見問題及解決
、Slave機器的許可權問題,不但要給slave機器File許可權,還要給它REPLICATION SLAVE的許可權。
、在修改完Slave機器/etc/my.cnf之後,slave機器的mysql服務啟動之前,記得要刪除掉master.info
、在show master status或著show slave status不正常時,看看.err是怎樣說的。
、Slave上Mysql的Replication工作有兩個線程, I/O thread和SQL thread。I/O的作用是從master 3306埠上把它的binlog取過來(master在被修改了任何內容之後,就會把修改了什麼寫到自己的binlog等待slave更新),然後寫到本地的relay-log,而SQL thread則是去讀本地的relay-log,再把它轉換成本Mysql所能理解的語句,於是同步就這樣一步一步的完成.決定I/O thread的是/var/lib/mysql/master.info,而決定SQL thread的是/var/lib/mysql/relay-log.info.
、啟動slave,命令用start slave;重新啟動用restart slave

❷ 濡備綍璇勪環 mysql 涓諱粠澶嶅埗鍘熺悊錛

娣卞叆鎺㈣錛歁ySQL涓諱粠澶嶅埗鐨勫師鐞嗕笌搴旂敤



鍦ㄦ暟鎹搴撶$悊鐨勪笘鐣岄噷錛孧ySQL涓諱粠澶嶅埗鏈哄埗鏃犵枒鎵婕旂潃鍏抽敭瑙掕壊銆傚畠涓嶄粎瑙e喅浜嗘暟鎹澶囦喚銆佽礋杞藉潎琛″拰鏁呴殰鎮㈠嶇瓑璇稿氭寫鎴橈紝鑰屼笖鏋佸ぇ鍦版彁鍗囦簡鏁版嵁搴撶殑鍙鐢ㄦу拰鎬ц兘銆備粖澶╋紝璁╂垜浠涓璧鋒繁鍏ュ墫鏋怣ySQL涓諱粠澶嶅埗鐨勫ゥ縐橈紝騫朵簡瑙e叾鍦ㄥ疄闄呭簲鐢ㄤ腑鐨勫悇縐嶆ā寮忎笌浼樺寲絳栫暐銆

棣栧厛錛屼富浠庡嶅埗鏄疢ySQL鏁版嵁搴撲腑鐨勪竴縐嶆牳蹇冩暟鎹鍚屾ユ妧鏈錛屽畠閫氳繃灝嗕富搴擄紙Master錛夌殑鏁版嵁鍙樻洿瀹炴椂澶嶅埗鍒頒粠搴擄紙Slave錛変笂錛屽疄鐜頒簡鏁版嵁鐨勫囦喚鍜岃誨啓鍒嗙匯傝繖縐嶆柟寮忓逛簬寮傚湴澶囦喚銆佺伨闅炬仮澶嶄互鍙婂噺杞諱富搴撹誨帇鍔涜嚦鍏抽噸瑕侊紝浠庤屾彁鍗囩郴緇熺殑鏁翠綋鎬ц兘鍜屽彲闈犳с

涓諱粠澶嶅埗瑙e喅鐨勯棶棰
MySQL涓諱粠澶嶅埗瑙e喅浜嗘暟鎹澶囦喚涓庡啑浣欑殑鍏抽敭闂棰橈紝閫氳繃鍦ㄤ粠搴撲笂瀹炴椂澶嶅埗涓誨簱鐨勬洿鏂幫紝紜淇濅簡鏁版嵁鐨勫囦喚鍜屽畨鍏ㄣ傚悓鏃訛紝瀹冨疄鐜頒簡璇誨啓鍒嗙伙紝灝嗚昏鋒眰鍒嗘暎鍒頒粠搴擄紝鏈夋晥鍑忚交浜嗕富搴撶殑璐熻澆錛屾彁鍗囦簡璇誨彇鎬ц兘銆傚湪鏁呴殰鍙戠敓鏃訛紝涓誨簱鍙浠ヨ繀閫熷垏鎹㈠埌浠庡簱錛岀『淇濅笟鍔$殑榪炵畫鎬с

澶嶅埗鍘熺悊涓庢ラ
MySQL澶嶅埗鐨勬牳蹇冨湪浜庝富搴撹板綍鎿嶄綔鍒癰inlog鏃ュ織錛岀劧鍚庢巿鏉冧粠搴撹繘琛岃繙紼嬭繛鎺ャ備粠搴撳惎鍔↖/O綰跨▼鍜孲QL綰跨▼錛孖/O綰跨▼鎺ユ敹binlog浜嬩歡錛孲QL綰跨▼鎵ц岃繖浜涗簨浠朵互鍚屾ユ暟鎹銆傚湪瀹炴柦榪囩▼涓錛屽繀欏葷『淇濅富浠庡簱鐨勬潈闄愯劇疆銆佺増鏈鍖歸厤鍜屾椂闂村悓姝ャ

澶嶅埗寤惰繜涓庤В鍐蟲柟妗
涓諱粠澶嶅埗鐨勫歡榪熶富瑕佹簮浜庡崟綰跨▼鎿嶄綔鍜岄殢鏈虹殑浠庡簱鎿嶄綔鎵ц屻傝侀檷浣庡歡榪燂紝鍙浠ヨ冭檻閲囩敤鍒嗗簱鏋舵瀯銆佽誨啓鍒嗙匯佺紦瀛樼瓑鎵嬫點備緥濡傦紝灝嗕笟鍔¢昏緫鍒嗘暎鍒板氫釜浠庡簱錛屾垨鑰呭湪涓氬姟鍜屾暟鎹搴撲箣闂存坊鍔燫edis灞傛潵鍑忚交鍘嬪姏銆

澶嶅埗妯″紡涓庡疄璺
MySQL涓諱粠澶嶅埗妯″紡澶氭牱錛屽寘鎷涓涓諱竴浠庛佷富涓誨嶅埗銆佷竴涓誨氫粠銆佸氫富涓浠庡拰綰ц仈澶嶅埗絳夛紝鏍規嵁瀹為檯闇奼傞夋嫨鍚堥傜殑妯″紡銆備簡瑙h繖浜涙ā寮忔湁鍔╀簬鎴戜滑鏇村ソ鍦拌捐″拰綆$悊鏁版嵁搴撴灦鏋勩

鎬葷粨鏉ヨ達紝MySQL涓諱粠澶嶅埗鏄鏁版嵁搴撶$悊涓嶅彲鎴栫己鐨勬妧鏈錛屽畠涓烘暟鎹鐨勪繚鎶ゅ拰鎵╁睍鎻愪緵浜嗗己澶х殑鏀鎸併傛帉鎻″叾鍘熺悊銆佹敞鎰忕偣浠ュ強浼樺寲絳栫暐錛屽皢鏈夊姪浜庢垜浠鏇存湁鏁堝湴榪愮淮鏁版嵁搴擄紝搴斿瑰悇縐嶆寫鎴樸傚笇鏈涜繖綃囨枃絝犺兘甯鍔╀綘娣卞寲瀵筂ySQL涓諱粠澶嶅埗鐨勭悊瑙o紒
熱點內容
手動上傳發票 發布:2024-11-27 10:23:26 瀏覽:990
我的世界寬頻能開伺服器嗎 發布:2024-11-27 10:23:21 瀏覽:876
移動存儲器是什麼 發布:2024-11-27 10:04:08 瀏覽:876
linux重裝linux 發布:2024-11-27 09:46:25 瀏覽:558
電腦玩雲伺服器 發布:2024-11-27 09:19:22 瀏覽:66
蘋果什麼助手能和安卓互通 發布:2024-11-27 09:18:47 瀏覽:58
android花屏 發布:2024-11-27 09:18:38 瀏覽:125
phpnginx負載均衡 發布:2024-11-27 09:18:36 瀏覽:623
刀片伺服器如何設置網路交換機 發布:2024-11-27 09:17:23 瀏覽:476
eve腳本挖礦 發布:2024-11-27 09:12:25 瀏覽:566