日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MySql 主从模式原理及操作步骤

發(fā)布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySql 主从模式原理及操作步骤 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

mysql是現(xiàn)在普遍使用的數(shù)據(jù)庫,但是如果宕機(jī)了必然會造成數(shù)據(jù)丟失。為了保證mysql數(shù)據(jù)庫的可靠性。就要會一些提高可靠性的技術(shù)。

主從復(fù)制原理如下。

slave(從服務(wù)器)

master(主服務(wù)器)

mysql主從是異步復(fù)制過程

master開啟bin-log功能,日志文件用于記錄數(shù)據(jù)庫的讀寫增刪
需要開啟3個線程,master IO線程,slave開啟 IO線程 SQL線程,
Slave 通過IO線程連接master,并且請求某個bin-log,position之后的內(nèi)容。
MASTER服務(wù)器收到slave IO線程發(fā)來的日志請求信息,io線程去將bin-log內(nèi)容,position返回給slave IO線程。
slave服務(wù)器收到bin-log日志內(nèi)容,將bin-log日志內(nèi)容寫入relay-log中繼日志,創(chuàng)建一個master.info的文件,該文件記錄了master ip 用戶名 密碼 master bin-log名稱,bin-log position。
slave端開啟SQL線程,實(shí)時監(jiān)控relay-log日志內(nèi)容是否有更新,解析文件中的SQL語句,在slave數(shù)據(jù)庫中去執(zhí)行。


?

準(zhǔn)備兩個mysql,一個做主,一個做從。防火墻,selinux都要關(guān)閉,保證可以ping通對方

主服務(wù)器配置:

vi/etc/ntp.conf

解釋:ntp服務(wù),是用來使計算機(jī)時間同步化的一種協(xié)議,它可以使計算機(jī)對其服務(wù)器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準(zhǔn)度的時間校正(LAN上與標(biāo)準(zhǔn)間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認(rèn)的方式來防止惡毒的協(xié)議攻擊。時間按NTP服務(wù)器的等級傳播。按照離外部UTC源的遠(yuǎn)近把所有服務(wù)器歸入不同的Stratum(層)中。

添加:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

service ntpd start ? ?#因為同步數(shù)據(jù) 兩個服務(wù)器的時間也要同步。

稍后要在從服務(wù)器執(zhí)行來同步時間

vi/etc/my.cnf?

在配置文件49行

其他內(nèi)容都可以保持默認(rèn)。

?

---------------------------------------------------------------------------------------------------------

在主服務(wù)器登錄mysql 給從服務(wù)器授權(quán)。

mysql>?grant replication slave on *.* to zs@'192.168.43.%' identified by '123456';

授權(quán)用戶zs 密碼為123456 允許192.168.43.0的網(wǎng)絡(luò)連接 一會兒要在slave上使用這個賬號

---------------------------------------------------------------------------------------------------------

show master status; ???#此命令查看主服務(wù)器的bin-log日志文件名稱和position點(diǎn)

從服務(wù)器就是要指定這個文件maste-bin.000001?(隨著mysql增刪修改日志文件名字也有可能改變)? 和 107 (position點(diǎn) 主服務(wù)器增刪修改都會改變)所以現(xiàn)在開始就不要再在主服務(wù)器創(chuàng)表干啥的了,

mysqldump -uroot -p --opt --all-databases >/all_databases.sql ?#導(dǎo)出主數(shù)據(jù)庫的數(shù)據(jù)

scp -r /all_databases.sql root@192.168.43.2:/ ? #用scp把數(shù)據(jù)復(fù)制到從服務(wù)器。

因為主從復(fù)制是從主從關(guān)系建立完畢開始同步的。也就是現(xiàn)在?position 107之前的內(nèi)容復(fù)制不了所以要手動復(fù)制主之前的數(shù)據(jù)導(dǎo)入從數(shù)據(jù)庫。

?

從服務(wù)器配置:?

/usr/sbin/ntpdate 192.168.43.22 ?#和主服務(wù)器同步時間。192.168.43.22為主服務(wù)器ip

?mysql -u root -p ?</all_databases.sql ? #導(dǎo)入數(shù)據(jù)

?

vi /etc/my.cnf

修改后重啟mysql服務(wù)

進(jìn)入從服務(wù)器的mysql

change master to master_host='192.168.43.22',master_user='zs',master_password='123456',master_log_file='maste-bin.000001',master_log_pos=107;
?start slave; ?#開啟SQL線程

show slave status\G; ? ?查看從服務(wù)器狀態(tài)

注意兩個都要是yes才是正常。

查看效果,在主服務(wù)器上創(chuàng)建個庫看看。

從數(shù)據(jù)庫也會有

同樣刪掉數(shù)據(jù)庫從數(shù)據(jù)庫也會復(fù)制。

主庫上刪除一個數(shù)據(jù)庫。

從庫上也沒了。所以還是要備份數(shù)據(jù)庫的。

總結(jié)

以上是生活随笔為你收集整理的MySql 主从模式原理及操作步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。