MYSQL跨服務(wù)器同步數(shù)據(jù)經(jīng)驗(yàn)分享
更新時(shí)間:2014年03月21日 11:32:55 作者:
這篇文章主要介紹了MYSQL跨服務(wù)器同步數(shù)據(jù)詳細(xì)過(guò)程,需要的朋友可以參考下
項(xiàng)目需要,自己找了些資料和親手配置過(guò)后;得出的經(jīng)驗(yàn)分享。
(1)主服務(wù)器
修改配置文件/etc/my.cnf(my.ini)
[mysqld]
# mysql-bin是log文件的前綴,也可以使用其它的名字,比如服務(wù)器名
# 如果不帶路徑,會(huì)把log文件寫(xiě)到`/var/lib/mysql`下
log-bin=mysql-bin
# serverid在一個(gè)同步體系中必須是唯一的,大于等于1且小于2^32-1的整數(shù)
server-id=1
binlog-do-db = 數(shù)據(jù)庫(kù)名 (你要備份的數(shù)據(jù)庫(kù))
binlog-ignore-db = 數(shù)據(jù)庫(kù)名 (你不需要備份的數(shù)據(jù)庫(kù))
#以上兩個(gè)都不選,備份全部
#如果使用InnoDb,為了保證穩(wěn)定,還應(yīng)設(shè)置如下兩行:
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#并且確保沒(méi)有設(shè)置skip-networking,禁用網(wǎng)絡(luò)自然無(wú)法同步。但是,
#innodb_flush_log_at_trx_commit=1在某些服務(wù)器上會(huì)導(dǎo)致寫(xiě)數(shù)據(jù)速度急劇下降,
#可嘗試調(diào)整為2。
#自己手動(dòng)添加,并重啟mysql服務(wù)器
[可選操作添加賬戶(hù)]
#設(shè)置賬戶(hù)步驟:
#登錄mysql主服務(wù)器,
[root@localhost ~]# mysql -uroot –p123456 登錄mysql
#這里需要指明一下啊 這個(gè)123456是我的mysql的密碼
#添加一個(gè)叫做beifen的用戶(hù),并授權(quán)給從服務(wù)器
mysql> grant replication slave on *.* to 'beifen'@'192.168.1.2' identified by '123';
#創(chuàng)建 beifen用戶(hù),密碼設(shè)置為123 并授權(quán)給192.168.1.2(ip為從機(jī)ip)使用。
mysql->SHOW MASTER STATUS; #查看信息并記下File和Position的值,
#這個(gè)在配置從數(shù)據(jù)庫(kù)的時(shí)候用的到
(2)從服務(wù)器my.cnf設(shè)置(如果需要雙向主,除server-id不一樣之外,其他配置和主服務(wù)器一樣)
server-id是必須設(shè)置的,binlog不用開(kāi)。
修改配置文件/etc/my.cnf(my.ini)
將service-id=1修改為server-id=2
并重啟mysql服務(wù)器并登錄
[如果有數(shù)據(jù)先處理數(shù)據(jù)]
(有人說(shuō)在導(dǎo)入數(shù)據(jù)的時(shí)候執(zhí)行 mysql > stop slave; 具體沒(méi)測(cè)試)
處理數(shù)據(jù)方法:
FLUSH TABLES WITH READ LOCK; 1鎖住主服務(wù)器
2 從主服務(wù)器中導(dǎo)出數(shù)據(jù),
3 導(dǎo)入從服務(wù)器
UNLOCK TABLES; 4解鎖
#設(shè)置主從關(guān)系(也可以在服務(wù)器使用,表示雙向)
mysql->change master to master_host='192.168.1.1', (主服務(wù)器IP)
master_user='beifen',master_password='123',
master_log_file='mysql-bin.000001',(主服務(wù)器查詢(xún)出file值)
master_log_pos=107;(主服務(wù)器查詢(xún)出Position值)
啟動(dòng)slave同步
mysql > start slave;
#檢查主從同步,如果您看到Slave_IO_Running和Slave_SQL_Running均為Yes,
#則主從復(fù)制連接正常。
mysql > show slave status\G
(1)主服務(wù)器
修改配置文件/etc/my.cnf(my.ini)
[mysqld]
# mysql-bin是log文件的前綴,也可以使用其它的名字,比如服務(wù)器名
# 如果不帶路徑,會(huì)把log文件寫(xiě)到`/var/lib/mysql`下
log-bin=mysql-bin
# serverid在一個(gè)同步體系中必須是唯一的,大于等于1且小于2^32-1的整數(shù)
server-id=1
binlog-do-db = 數(shù)據(jù)庫(kù)名 (你要備份的數(shù)據(jù)庫(kù))
binlog-ignore-db = 數(shù)據(jù)庫(kù)名 (你不需要備份的數(shù)據(jù)庫(kù))
#以上兩個(gè)都不選,備份全部
#如果使用InnoDb,為了保證穩(wěn)定,還應(yīng)設(shè)置如下兩行:
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#并且確保沒(méi)有設(shè)置skip-networking,禁用網(wǎng)絡(luò)自然無(wú)法同步。但是,
#innodb_flush_log_at_trx_commit=1在某些服務(wù)器上會(huì)導(dǎo)致寫(xiě)數(shù)據(jù)速度急劇下降,
#可嘗試調(diào)整為2。
#自己手動(dòng)添加,并重啟mysql服務(wù)器
[可選操作添加賬戶(hù)]
#設(shè)置賬戶(hù)步驟:
#登錄mysql主服務(wù)器,
[root@localhost ~]# mysql -uroot –p123456 登錄mysql
#這里需要指明一下啊 這個(gè)123456是我的mysql的密碼
#添加一個(gè)叫做beifen的用戶(hù),并授權(quán)給從服務(wù)器
mysql> grant replication slave on *.* to 'beifen'@'192.168.1.2' identified by '123';
#創(chuàng)建 beifen用戶(hù),密碼設(shè)置為123 并授權(quán)給192.168.1.2(ip為從機(jī)ip)使用。
mysql->SHOW MASTER STATUS; #查看信息并記下File和Position的值,
#這個(gè)在配置從數(shù)據(jù)庫(kù)的時(shí)候用的到
(2)從服務(wù)器my.cnf設(shè)置(如果需要雙向主,除server-id不一樣之外,其他配置和主服務(wù)器一樣)
server-id是必須設(shè)置的,binlog不用開(kāi)。
修改配置文件/etc/my.cnf(my.ini)
將service-id=1修改為server-id=2
并重啟mysql服務(wù)器并登錄
[如果有數(shù)據(jù)先處理數(shù)據(jù)]
(有人說(shuō)在導(dǎo)入數(shù)據(jù)的時(shí)候執(zhí)行 mysql > stop slave; 具體沒(méi)測(cè)試)
處理數(shù)據(jù)方法:
FLUSH TABLES WITH READ LOCK; 1鎖住主服務(wù)器
2 從主服務(wù)器中導(dǎo)出數(shù)據(jù),
3 導(dǎo)入從服務(wù)器
UNLOCK TABLES; 4解鎖
#設(shè)置主從關(guān)系(也可以在服務(wù)器使用,表示雙向)
mysql->change master to master_host='192.168.1.1', (主服務(wù)器IP)
master_user='beifen',master_password='123',
master_log_file='mysql-bin.000001',(主服務(wù)器查詢(xún)出file值)
master_log_pos=107;(主服務(wù)器查詢(xún)出Position值)
啟動(dòng)slave同步
mysql > start slave;
#檢查主從同步,如果您看到Slave_IO_Running和Slave_SQL_Running均為Yes,
#則主從復(fù)制連接正常。
mysql > show slave status\G
相關(guān)文章
mysql制作外鍵出現(xiàn)duplicate?key?name錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了mysql制作外鍵出現(xiàn)duplicate?key?name錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02MySQL聯(lián)表查詢(xún)基本操作之left-join常見(jiàn)的坑
這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)表查詢(xún)基本操作之left-join的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05MySQL中存儲(chǔ)的數(shù)據(jù)查詢(xún)的時(shí)候如何區(qū)分大小寫(xiě)
這篇文章主要介紹了MySQL中存儲(chǔ)的數(shù)據(jù)查詢(xún)的時(shí)候如何區(qū)分大小寫(xiě)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04調(diào)用MySQL中數(shù)據(jù)庫(kù)元數(shù)據(jù)的方法
這篇文章主要介紹了調(diào)用MySQL中數(shù)據(jù)庫(kù)元數(shù)據(jù)的方法,文中給出了了PHP和Perl腳本下的調(diào)用示例,需要的朋友可以參考下2015-05-05