mysql 实现master-slave 同步
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
mysql中實(shí)現(xiàn)master-slave同步:
第一步:分別在兩臺(tái)機(jī)子上各裝一個(gè)mysql (本人測(cè)試機(jī)系統(tǒng)為unbutu,mysql5.5),如只有一臺(tái)機(jī)器,需使mysql的端口不同(3306,3307)。
第二步:找到mysql 的my.cnf文件。
? ? ? ?$cd /etc/mysql ?進(jìn)入該目錄。
? ? ? ?$ vim my.cnf??如是只讀,且不允許修改。需用$ sudo vim my.cnf
第三步:修改my.cnf 中的配置項(xiàng):
? ? ? ?1 需做如下操作:
? ? ? ? ? 將bind-address=127.0.0.1 改為 bind-address=0.0.0.0
????????? 將#server-id=1?
? ? ? ? ? #log_bin=/var/log/mysql/mysql-bin.log
? ? ? ?的注釋(#)去掉。
? ? ? ?添加:character-set-server=utf-8 #保證編碼一致。
? ? ? 填加完成后,保存并退出即可。
第四步:
? ? ?用root權(quán)限登錄并創(chuàng)建slave數(shù)據(jù)庫(kù)服務(wù)器用戶:
? ? ?$mysql -uroot -p
? ? mysql>grant replication slave,replication client on *.* to liang@'192.168.10.21' indntified by 'liang';
? ? mysql>grant replicatin slave on *.* to liang@'192.168.10.21' indntified by 'liang';
第五步:重啟mysql服務(wù)。?
? ? ?$ sudo /etc/init.d/mysql restart ?#如不能正常啟動(dòng),請(qǐng)檢查my.cnf配置項(xiàng)以及mysql 的錯(cuò)誤日志。
? ? ?錯(cuò)誤日志位置:/var/log/mysql/error.log
到此已將master配置完畢。
slave配置。
第六步:修改slave的my.cnf配置文件。
如下:
bind-address=0.0.0.0
server-id?????????????? = 2
master-host ? ? ? ? ? = 192.168.10.24
master-user ? ? ? ? ??= liang
master-password ? ?= liang
master-port ? ? ? ? ? = 3306
log_bin???????????????? = /var/log/mysql/mysql-bin.log
log-slave-updates
skip-slave-start
character-set-server=utf8
保存并退出.
第七步:重啟slave的mysql服務(wù)器(同第五步)
? 本人在重啟時(shí)出現(xiàn)錯(cuò)誤,不能啟動(dòng)mysql.經(jīng)查日志發(fā)現(xiàn):如下錯(cuò)誤(暫略)由于錯(cuò)誤日志不在本機(jī)。以后補(bǔ)上,嘿嘿。
? 故將配置改為如下:
?
server-id?????????????? = 2
#master-host ? ? ? ? ? = 192.168.10.24
#master-user ? ? ? ? ??= liang
#master-password ? ?= liang
#master-port ? ? ? ? ??= 3306
log_bin???????????????? = /var/log/mysql/mysql-bin.log
log-slave-updates
skip-slave-start
character-set-server=utf8
保存并重啟mysql,ok.
進(jìn)入myslq,并在mysql中運(yùn)行:
slave start;
第八步:在master中執(zhí)行:
? ? ?mysql>show master status\G;
? ? 顯示內(nèi)容為如下:
第九步:在slave中,運(yùn)行如下命令:
? ??mysql>change master to master_host='192.168.10.24', master_user='liang', master_password='liang', master_log_file='mysql-bin.000007', master_log_pos=170;
? 其中master_log_file,master_log_pos 為第八步中所顯示的內(nèi)容 .
? ?mysql>slave start;
第十步:在master的中執(zhí)行如下命令:
? ?mysql>show slave status\G;
? ?請(qǐng)查看Slave_IO_Running:YES
? ? ? ? ? ?Slave_SQL_Running:YES
? ok ,配置成功。
? ?請(qǐng)出現(xiàn)Slave_IO_Running:Connectiong,請(qǐng)查看下面的錯(cuò)誤信息或查看日志文件。
第十一步:測(cè)試
? ? 在主數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù):
? ? mysql>create database ccc;
? ? 在slave中查看,如有ccc數(shù)據(jù)庫(kù),則說(shuō)明同步成功。
? ? 同時(shí)可測(cè)創(chuàng)建表,修改表,添加記錄等。一切OK.
最后謝謝網(wǎng)絡(luò)上的朋友。在你們的幫助下,順得完成。
如需配置dual-master 可參考如下鏈接:
http://www.neocodesoftware.com/replication/
? ? ?
? ? ?
?
轉(zhuǎn)載于:https://my.oschina.net/u/990629/blog/138955
總結(jié)
以上是生活随笔為你收集整理的mysql 实现master-slave 同步的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 无线路由器软件升级
- 下一篇: linux cmake编译源码,linu