怎么在MySQL數(shù)據(jù)庫中配置主從-創(chuàng)新互聯(lián)

怎么在MySQL數(shù)據(jù)庫中配置主從?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比開州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式開州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋開州地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

1. 主設(shè)置(master)

修改mysql配置文件,一般在/etc/mysql/my.conf

server-id=1 //設(shè)置mysql的id標(biāo)識
log-bin=/var/lib/mysql/mysql-bin //log-bin的日志文件,主從備份就是用這個(gè)日志記錄來實(shí)現(xiàn)的
#binlog-do-db=mysql1 #需要備份的數(shù)據(jù)庫名,如果備份多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這個(gè)選項(xiàng) 即可
#binlog-ignore-db=mysql2 #不需要備份的數(shù)據(jù)庫名,如果備份多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這 個(gè)選項(xiàng)即可
#log-slave-updates=1 #這個(gè)參數(shù)當(dāng)從庫又作為其他從庫的主庫時(shí)一定要加上,否則不會給更新的記錄寫到binglog里二進(jìn)制文件里
#slave-skip-errors=1 #是跳過錯(cuò)誤,繼續(xù)執(zhí)行復(fù)制操作(可選)

在主mysql中增加2個(gè)用來同步的賬號

mysql>grant replication slave on *.* to 'sync-1'@'%' identified by '123456';

mysql>grant replication slave on *.* to 'sync-2'@'%' identified by '123456';

重啟msql

mysql>show master status; //可以查看主mysql狀態(tài)

2. 從設(shè)置(slave)

修改mysql配置文件 my.conf,兩個(gè)從節(jié)點(diǎn)配置方式都一樣。

server-id=2
#log-bin=/var/lib/mysql/mysql-bi //從mysql可以不用設(shè)置日志文件

在從mysql中增加命令參數(shù),master_log_file 和master_log_pos 可以在master mysql中用 show master status查詢到

mysql>change master to master_host='192.168.145.222',master_user='sync-1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=308; 

mysql>start slave //啟動

mysql>show slave status\G //查詢狀態(tài),Slave_IO_Running 和Slave_IO_Running都為yes表示成功

3. 設(shè)置中的出現(xiàn)的問題

Last_Errno: 1146

設(shè)置出從的時(shí)候,我的主mysql已經(jīng)有一張表了,當(dāng)時(shí)創(chuàng)建表的binlog二進(jìn)制日志就沒有記錄,從mysql無法寫入數(shù)據(jù),這時(shí)候只有手動導(dǎo)入數(shù)據(jù)庫文件到從mysql中;原因是網(wǎng)上教程都是全新安裝的主msql和從mysql,不存在已有數(shù)據(jù)的問題。

Last_Errno: 1062

Error 'Duplicate entry 'xxxxx' for key 'PRIMARY'' on query

主鍵沖突,這個(gè)問題比較復(fù)雜,應(yīng)該是有表的設(shè)置不對,這個(gè)問題后來在Stack Overflow上找到了解決辦法

# on slave
mysql> stop slave;
mysql> flush privileges;
# on master rest master
mysql> reset master;
# on slave;
mysql> reset slave;
mysql> start slave;

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

標(biāo)題名稱:怎么在MySQL數(shù)據(jù)庫中配置主從-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article0/coioio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、關(guān)鍵詞優(yōu)化、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站收錄、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化