《初識mysql主從復(fù)制》要點:
本文介紹了初識mysql主從復(fù)制,希望對您有用。如果有疑問,可以聯(lián)系我們。
一直想見識一下主從復(fù)制,前幾天自己試了一下,分享一下!
為了嘗試比較麻煩的情況,我這里master是centos系統(tǒng),slave是windows系統(tǒng).
1、首先配置主數(shù)據(jù)庫master
修改centos下的 /etc/my.cnf 命令:vim /etc/my.cnf
看這里
在配置文件里[mysqld]下添加(注意是在[mysqld]模塊下添加,別寫錯地方)
server-id = x (本機數(shù)據(jù)庫id,唯一標識,只要保證別和slave重復(fù)就行)
log-bin = mysql-bin (開啟binlog功能,參數(shù)是log存放的地址,默認/var/lib/mysql )
(PS:binlog-do-db = xx 指定可以被從數(shù)據(jù)庫復(fù)制的庫,binlog-ignore-db = xx 指定不可以被復(fù)制的庫,如果設(shè)置了binlog-do-db = xx可以不設(shè)置binlog-ignore-db = xx)
配置好重啟mysqld服務(wù) systemctl restart mysqld
查看master狀態(tài),show master status,并記下參數(shù)
長這樣
建立用于從庫復(fù)制的帳號 grant replication slave on *.* to "user"@"%" identified by "password";
刷新權(quán)限 flush privileges;
把主庫的數(shù)據(jù)遷移到從庫保證主從庫同步
2、從數(shù)據(jù)庫配置,在windows上找到my.ini
在[mysqld]下添加
log-bin=mysql-bin
server-id=xx
replicate-do-db=work (前兩個解釋過,那么replicate-do-db是指slave可以復(fù)制的庫)
重啟服務(wù)
進入mysql 設(shè)置他的master
change master to master_host='master的ip地址',master_port=3306,master_user='前面設(shè)置的user',master_password='前面設(shè)置的暗碼',master_log_file='mysql-bin.000002',master_log_pos=665;(最后倆參數(shù)是之前查看master狀態(tài)幾下的參數(shù))
開啟復(fù)制
start slave
此時主庫修改表數(shù)據(jù)可以在從庫中看到了
PS:遇到個小問題,修改/etc/my.cnf時由于操作原因在打開時出現(xiàn)提示
swap file "*.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
原因:
使用vim編輯文件實際是先copy一份臨時文件并映射到內(nèi)存給你編輯, 編輯的是臨時文件, 當執(zhí)行 :w后才保存臨時文件到原文件,執(zhí)行:q后才刪除臨時文件.每次啟動編輯時都會檢索這個文件是否已經(jīng)存在臨時文件, 有則詢問如何處理,就會出現(xiàn)如上情景.
解決辦法(進入目錄刪除這個臨時文件即可): rm *.swp
歡迎參與《初識mysql主從復(fù)制》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/7671.html