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