在網(wǎng)上查了很多的主從復(fù)制的配置,發(fā)現(xiàn)坑也挺多的,現(xiàn)在記錄一下,少踩坑
主數(shù)據(jù)庫(kù):192.168.1.1
從數(shù)據(jù)庫(kù):192.168.1.2
注意事項(xiàng)
確保主數(shù)據(jù)庫(kù)的mysql能夠給外網(wǎng)訪問(wèn),也就是使用Navicat等軟件能夠連接的上才行。如果使用寶塔就要到端口那里放行3306端口
主數(shù)據(jù)庫(kù)配置:
1. 創(chuàng)建一個(gè)用戶
GRANT REPLICATION SLAVE,FILE ON *.* TO 'mstest'@'192.168.1.2' IDENTIFIED BY '123456';
192.168.1.2:是運(yùn)行使用該用戶的ip地址
mstest:是新創(chuàng)建的用戶名
123456:是新創(chuàng)建的用戶名的密碼
2. 修改mysql的配置文件,my.cnf(window系統(tǒng)時(shí)my.ini)
server-id=1
binlog-do-db=czc #這個(gè)是需要同步的數(shù)據(jù)庫(kù) ,czc是一個(gè)數(shù)據(jù)庫(kù),自行先創(chuàng)建
完成后輸入命令show master status查看一下是否成功

從數(shù)據(jù)庫(kù)配置:
如果mysql的版本大于5.5
打開(kāi)mysql.in添加下面值
server-id=2
master-host=192.168.1.1 //主數(shù)據(jù)庫(kù)的ip
master-user=mstest //第一步創(chuàng)建賬號(hào)的用戶名
master-password=123456 //第一步創(chuàng)建賬號(hào)的密碼
master-port=3306
master-connect-retry=60
replicate-do-db=czc //要同步的mstest數(shù)據(jù)庫(kù),要同步多個(gè)數(shù)據(jù)庫(kù),就多加幾個(gè)replicate-db-db=數(shù)據(jù)庫(kù)名
mysql的版本小于5.5
打開(kāi)mysql.ini添加一個(gè)server_id,隨便寫(xiě)一個(gè)不重復(fù)的id

因?yàn)?strong>小于5.5的不能使用直接配置的方法,只能采用命令行的方式配置
CHANGE MASTER TO MASTER_HOST='118.25.2437.342',MASTER_PORT=3306,MASTER_USER='mstest',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=606;
這里的參數(shù)都是對(duì)照主數(shù)據(jù)庫(kù)的信息填寫(xiě)的
slave start;
show slave status\G;

看這幾項(xiàng)是否出現(xiàn),出現(xiàn)表示成功了??勺孕性谥鲾?shù)據(jù)庫(kù)里面添加修改數(shù)據(jù)測(cè)試
有疑問(wèn)歡迎留言