MySQL 5.5主從同步設(shè)置筆記分享
先修改Master(10.1.123.197)的 my.cnf 配置
在 [mysqld] 中新增以下內(nèi)容:
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id = 1
sync_binlog=1
binlog_format=mixed
然后指定要做同步的數(shù)據(jù)庫(kù),并忽略掉不需要做同步的數(shù)據(jù)庫(kù)
binlog-do-db = testdb
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
在 [mysqldump] 中修改內(nèi)容為
注意:確保 max_allowed_packet 有比較大的值,比如 max_allowed_packet = 100M
重啟 mysql:
在Master上創(chuàng)建一個(gè)復(fù)制用戶(hù)
GRANT REPLICATION SLAVE ON *.* TO funsion IDENTIFIED BY 'jb51.net';
# 測(cè)試環(huán)境密碼是 xyzzy
+ ---------------------------------------------------------- +
再修改 Slave(10.1.123.160)的配置,修改 my.cnf
在 [mysqld] 中新增以下內(nèi)容
server-id=2
log-bin = mysql-bin
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
# 以上三行話只使用于MySQL 5.5
輸入 mysql -u root -p
進(jìn)入mysql命令行,輸入
CHANGE MASTER TO MASTER_HOST = '10.1.123.233', MASTER_USER = 'funsion', MASTER_PORT = 3306, MASTER_PASSWORD = 'ifunsion.com';
CHANGE MASTER TO MASTER_CONNECT_RETRY=30;
在輸入 START SLAVE;
+ ----------------------- 如果發(fā)生錯(cuò)誤無(wú)法啟動(dòng) ------------------- +
進(jìn)入Master 的數(shù)據(jù)庫(kù)
輸入 show master status\G
記錄下當(dāng)前使用的 log-bin文件,以及position (比如現(xiàn)在日志是 mysql-bin.000001 ,位置是 107)
然后進(jìn)入Slave 的數(shù)據(jù)庫(kù)
輸入 stop slave;
最后輸入 start slave;
最后在服務(wù)器上執(zhí)行
ntpdate cn.pool.ntp.org
clock -w
把幾臺(tái)服務(wù)器的時(shí)間同步
+ ---------------------------- 一些可能用到的命令 ------------------------- +
執(zhí)行鎖表:
這一步的目的是使我們?cè)谥谱髦鲝牡倪^(guò)程中,主庫(kù)中不會(huì)有新的數(shù)據(jù),否則會(huì)給我們的同步設(shè)置帶來(lái)麻煩
主庫(kù)執(zhí)行解鎖:
reset master 命令刪除了所有的二進(jìn)制日志文件并清空了二進(jìn)制日志索引文件。
reset slave 命令刪除了Slave復(fù)制所用的所有文件,重新開(kāi)始。
+ ----------------------- 其它參考文檔(未驗(yàn)證)-------------------------- +
庫(kù)業(yè)務(wù)不能停的情況下為從庫(kù)制作鏡像:
案例:
服務(wù)器1號(hào):主
服務(wù)器2號(hào):從
現(xiàn)在由于負(fù)載問(wèn)題需要上架服務(wù)器3號(hào)同樣為1號(hào)的從服務(wù)器。
但是1號(hào)庫(kù)不能停,2號(hào)也不能停,主從同步進(jìn)程也不能停(要求苛刻)。
可以這樣做:
在主:
3號(hào)服務(wù)器slave stop;
之后將bak.sql導(dǎo)入3號(hào)從服務(wù)器
3號(hào)服務(wù)器會(huì)自動(dòng)從導(dǎo)出的那一刻的節(jié)點(diǎn)更新。
因?yàn)?-master-data=1 這個(gè)參數(shù)在導(dǎo)出sql文件后會(huì)在最下方加上change語(yǔ)句。如果--master-data=0,則不會(huì)帶有。
非常的方便,但僅適合庫(kù)不是太大的情況,該案例導(dǎo)出的庫(kù)一共6G。
相關(guān)文章
MySQL binlog_ignore_db 參數(shù)的具體使用
這篇文章主要介紹了MySQL binlog_ignore_db 參數(shù)的具體作用,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-12-12MySQL MyISAM默認(rèn)存儲(chǔ)引擎實(shí)現(xiàn)原理
這篇文章主要介紹了MySQL MyISAM默認(rèn)存儲(chǔ)引擎實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03MySQL無(wú)法啟動(dòng)、無(wú)法停止解決方法(安全設(shè)置后容易出現(xiàn))
最近在Win2003上的MySQL出現(xiàn)過(guò)多次正常運(yùn)行時(shí)無(wú)法連接數(shù)據(jù)庫(kù)故障,根本原因就是因?yàn)榘踩O(shè)置以后容易出現(xiàn)的問(wèn)題,其實(shí)很簡(jiǎn)單的解決2012-03-03推薦沒(méi)有虛擬主機(jī)的小巧的Mysql數(shù)據(jù)庫(kù)備份腳本(PHP)
推薦沒(méi)有虛擬主機(jī)的小巧的Mysql數(shù)據(jù)庫(kù)備份腳本(PHP)...2007-07-07將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細(xì)節(jié)點(diǎn)
前段時(shí)間公司項(xiàng)目數(shù)據(jù)庫(kù)需要從mysql轉(zhuǎn)為oracle,所以需要修改下原有的mysql腳本,這篇文章主要給大家介紹了關(guān)于將mysql腳本轉(zhuǎn)化為oracle腳本的攻略與細(xì)節(jié)點(diǎn),需要的朋友可以參考下2023-09-09MySQL 復(fù)制詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了MySQL 復(fù)制詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04MySQL數(shù)據(jù)庫(kù)遭到攻擊篡改(使用備份和binlog進(jìn)行數(shù)據(jù)恢復(fù))
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)遭到攻擊篡改(使用備份和binlog進(jìn)行數(shù)據(jù)恢復(fù)),需要的朋友可以參考下2016-04-04