本文章從mysql數(shù)據(jù)庫主從配置到給mysql主從配置做slave命令的備份以及數(shù)據(jù)庫同步跳過臨時(shí)錯(cuò)誤方法,有需要學(xué)習(xí)的朋友可參考參考.
安裝完mysql后,打開主數(shù)據(jù)庫my.cnf,mkdir /home/log/,添加配置代碼,代碼如下:
- ##########同步配置開始###################
- server-id=1
- log-bin = /home/log/mysql_serverid.log
- set-variable = binlog-ignore-db=mysql
- set-variable = binlog-ignore-db=test
- ##########同步配置結(jié)束###################
打開從數(shù)據(jù)庫的my.cnf,配置代碼,代碼如下:
- ##mysql同步###
- server-id = 2 (注意,不同的從庫要設(shè)置不同的唯一的ID)
- master-host=192.168.0.1
- master-user=bak
- master-password=password
- master-port=3306
- master-connect-retry=10
- set-variable=replicate-ignore-db=mysql
- set-variable=replicate-ignore-db=test
- lower_case_table_names=1
- ##mysql同步###
可以了...
mysql slave命令的備份,代碼如下:
- mysql>slave stop;
- mysql>change master to master_host='192.168.5.188',master_user='slave- user',master_password='123456',master_log_file='mysql-bin.000063',master_log_pos=98;
- mysql>start slave;
mysql數(shù)據(jù)庫同步跳過臨時(shí)錯(cuò)誤,代碼如下:
- slave stop;
- set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
- slave start;
幾個(gè)跟熱備有關(guān)的mysql命令:(需要在mysql命令行界面或query )
stop slave #停止同步
start slave #開始同步,從日志終止的位置開始更新。
SET SQL_LOG_BIN=0|1 #主機(jī)端運(yùn)行,需要super權(quán)限,用來開停日志,隨意開停,會造成主機(jī)從機(jī)數(shù)據(jù)不一致,造成錯(cuò)誤:
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客戶端運(yùn)行,用來跳過幾個(gè)事件,只有當(dāng)同步進(jìn)程出現(xiàn)錯(cuò)誤而停止的時(shí)候才可以執(zhí)行。
RESET MASTER #主機(jī)端運(yùn)行,清除所有的日志,這條命令就是原來的FLUSH MASTER
RESET SLAVE #從機(jī)運(yùn)行,清除日志同步位置標(biāo)志,并重新生成master.info
雖然重新生成了master.info,但是并不起用,最好,將從機(jī)的mysql進(jìn)程重啟一下,
LOAD TABLE tblname FROM MASTER #從機(jī)運(yùn)行,從主機(jī)端重讀指定的表的數(shù)據(jù),每次只能讀取一個(gè),受timeout時(shí)間限制,需要調(diào)整timeout時(shí)間。執(zhí)行這個(gè)命令需要同步賬號有 reload和super權(quán)限。以及對相應(yīng)的庫有select權(quán)限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
LOAD DATA FROM MASTER #從機(jī)執(zhí)行,從主機(jī)端重新讀入所有的數(shù)據(jù),執(zhí)行這個(gè)命令需要同步賬號有reload和super權(quán)限,以及對相應(yīng)的庫有select權(quán)限,如果表比較大,要增加net_read_timeout 和 net_write_timeout的值,代碼如下:
CHANGE MASTER TO master_def_list #在線改變一些主機(jī)設(shè)置,多個(gè)用逗號間隔,比如:
- CHANGE MASTER TO
- MASTER_HOST='master2.Vevb.com',
- MASTER_USER='replication',
- MASTER_PASSWORD='bigs3cret'
- MASTER_POS_WAIT() #從機(jī)運(yùn)行
- SHOW MASTER STATUS #主機(jī)運(yùn)行,看日志導(dǎo)出信息
- SHOW SLAVE HOSTS #主機(jī)運(yùn)行,看連入的從機(jī)的情況。
- SHOW SLAVE STATUS (slave)
- SHOW MASTER LOGS (master)
- SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
- PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'
新聞熱點(diǎn)
疑難解答
圖片精選