您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“如何安裝配置mysql主從環(huán)境”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何安裝配置mysql主從環(huán)境”吧!
MySQL支持單向、異步復(fù)制,復(fù)制過程中一個服務(wù)器充當(dāng)主服務(wù)器,而一個或多個其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進(jìn)制日志文件,并維護(hù)日志文件的一個索引以跟蹤日志循環(huán)。當(dāng)一個從服務(wù)器連接到主服務(wù)器時,它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置。從服務(wù)器接收從那時起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知下一次更新。
為什么使用主從復(fù)制?
1、主服務(wù)器/從服務(wù)器設(shè)置增加了健壯性。主服務(wù)器出現(xiàn)問題時,你可以切換到從服務(wù)器作為備份。
2、通過在主服務(wù)器和從服務(wù)器之間切分處理客戶查詢的負(fù)荷,可以得到更好的客戶響應(yīng)時間。但是不要同時在主從服務(wù)器上進(jìn)行更新,這樣可能引起沖突。
3、使用復(fù)制的另一個好處是可以使用一個從服務(wù)器執(zhí)行備份,而不會干擾主服務(wù)器。在備份過程中主服務(wù)器可以繼續(xù)處理更新。
MySQL使用3個線程來執(zhí)行復(fù)制功能(其中1個在主服務(wù)器上,另兩個在從服務(wù)器上。當(dāng)發(fā)出START SLAVE時,從服務(wù)器創(chuàng)建一個I/O線程,以連接主服務(wù)器并讓主服務(wù)器發(fā)送二進(jìn)制日志。主服務(wù)器創(chuàng)建一個線程將二進(jìn)制日志中的內(nèi)容發(fā)送到從服務(wù)器。從服務(wù)器I/O線程讀取主服務(wù)器Binlog Dump線程發(fā)送的內(nèi)容并將該數(shù)據(jù)拷貝到從服務(wù)器數(shù)據(jù)目錄中的本地文件中,即中繼日志。第3個線程是SQL線程,從服務(wù)器使用此線程讀取中繼日志并執(zhí)行日志中包含的更新。SHOW PROCESSLIST語句可以查詢在主服務(wù)器上和從服務(wù)器上發(fā)生的關(guān)于復(fù)制的信息。
默認(rèn)中繼日志使用host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從服務(wù)器主機(jī)名,nnnnnn是序列號。用連續(xù)序列號來創(chuàng)建連續(xù)中繼日志文件,從000001開始。從服務(wù)器跟蹤中繼日志索引文件來識別目前正使用的中繼日志。默認(rèn)中繼日志索引文件名為host_name-relay-bin.index。在默認(rèn)情況,這些文件在從服務(wù)器的數(shù)據(jù)目錄中被創(chuàng)建。中繼日志與二進(jìn)制日志的格式相同,并且可以用mysqlbinlog讀取。當(dāng)SQL線程執(zhí)行完中繼日志中的所有事件后,中繼日志將會被自動刪除。
從服務(wù)器在數(shù)據(jù)目錄中另外創(chuàng)建兩個狀態(tài)文件--master.info和relay-log.info。狀態(tài)文件保存在硬盤上,從服務(wù)器關(guān)閉時不會丟失。下次從服務(wù)器啟動時,讀取這些文件以確定它已經(jīng)從主服務(wù)器讀取了多少二進(jìn)制日志,以及處理自己的中繼日志的程度。
主master:192.168.5.60
從slave:192.168.5.61
1、在master mysql創(chuàng)建同步用戶
grant emuser slave,file on *.* to identified by 123456;
flush privileges;
修改master的my.cnf的配置
wait_timeout = 30000000
interactive-timeout = 30000000
binlog-do-db=cdn_view #設(shè)置二進(jìn)制日志記錄的庫
log-bin=mysql-bin #打開mysql二進(jìn)制日志
binlog-ignore-db=mysql ##設(shè)置二進(jìn)制日志不記錄的庫
server-id = 12760 #設(shè)置mysql_id,主從不能相同
long_query_time = 5
expire_logs_days= 3
2、修改slave的my.cnf的配置
wait_timeout = 30000000
interactive-timeout = 30000000
log-bin=mysql-bin
server-id = 12761
replicate-do-db=cdn_view #設(shè)置同步的庫
replicate-ignore-db=mysql #設(shè)置不同步的庫
log-slave-updates #同步后記錄二進(jìn)制日志
slave-skip-errors=all
slave-net-timeout=60
sync_binlog=1
binlog_format=mixed
############################################################################
分別重啟主從mysqld服務(wù),登錄主mysql,在主上執(zhí)行flush tables with read lock;
然后將cdn_view的數(shù)據(jù)copy到從上,并記錄下主上show master statusG的結(jié)果:
> show master statusG;
*************************** 1. row ***************************
File: mysql-bin.000009
Position: 341
Binlog_Do_DB: cdn_view
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
然后執(zhí)行unlock tables;
登錄從mysql,在從上執(zhí)行:
stop slave;
change master to master_host=192.168.5.60,master_user=emuser,master_password=123456, master_log_file=mysql-bin.000009, master_log_pos=341;
start slave;
show slave statusG;
如果出現(xiàn)如下信息說明主從同步成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
到此,相信大家對“如何安裝配置mysql主從環(huán)境”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。