站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        實(shí)現(xiàn)MySQL的主從復(fù)制

        實(shí)現(xiàn)MySQL的主從復(fù)制

        相關(guān)學(xué)習(xí)推薦:mysql教程

        測試服務(wù)器使用centos7.2進(jìn)行相關(guān)配置

        文章內(nèi)容參考mysql數(shù)據(jù)庫的主從同步,實(shí)現(xiàn)讀寫分離

        概敘

        大型網(wǎng)站為了軟解大量的并發(fā)訪問,除了在網(wǎng)站實(shí)現(xiàn)分布式負(fù)載均衡,遠(yuǎn)遠(yuǎn)不夠。到了數(shù)據(jù)業(yè)務(wù)層、數(shù)據(jù)訪問層,如果還是傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu),或者只是單單靠一臺(tái)服務(wù)器來處理如此多的數(shù)據(jù)庫連接操作,數(shù)據(jù)庫必然會(huì)崩潰,特別是數(shù)據(jù)丟失的話,后果更是不堪設(shè)想。這時(shí)候,我們會(huì)考慮如何減少數(shù)據(jù)庫的連接,下面就進(jìn)入我們今天的主題。

        利用主從數(shù)據(jù)庫來實(shí)現(xiàn)讀寫分離,從而分擔(dān)主數(shù)據(jù)庫的壓力。在多個(gè)服務(wù)器上部署mysql,將其中一臺(tái)認(rèn)為主數(shù)據(jù)庫,而其他為從數(shù)據(jù)庫,實(shí)現(xiàn)主從同步。其中主數(shù)據(jù)庫負(fù)責(zé)主動(dòng)寫的操作,而從數(shù)據(jù)庫則只負(fù)責(zé)主動(dòng)讀的操作(slave從數(shù)據(jù)庫仍然會(huì)被動(dòng)的進(jìn)行寫操作,為了保持?jǐn)?shù)據(jù)一致性),這樣就可以很大程度上的避免數(shù)據(jù)丟失的問題,同時(shí)也可減少數(shù)據(jù)庫的連接,減輕主數(shù)據(jù)庫的負(fù)載。

        安裝mysql

        服務(wù)器安裝mysql我參考了以下兩篇文章

        Centos7.2安裝Mysql5.7(阿里云)

        Centos7 遠(yuǎn)程無法連接mysql數(shù)據(jù)庫

        在安裝數(shù)據(jù)庫過程中,由于遠(yuǎn)程無法連接踩了一些坑,首先在配置完成數(shù)據(jù)庫后,需要數(shù)據(jù)庫授權(quán)允許訪問,然后打開防火墻設(shè)置,將3306端口打開,允許通過數(shù)據(jù)庫管理工具通過端口訪問數(shù)據(jù)庫,我就是在沒有設(shè)置打開防火墻這塊一直踩坑。

        在測試的兩臺(tái)服務(wù)器都分別安裝了mysql,并同時(shí)導(dǎo)入測試數(shù)據(jù)庫

        主從復(fù)制配置

        主服務(wù)器配置

        修改主服務(wù)器mysql配置,文件位于/etc/my.cnf

        #在[mysqld]中添加: server-id=1log_bin=master-bin log_bin_index=master-bin.index binlog_do_db=master  #server-id 服務(wù)器唯一標(biāo)識。 #log_bin 啟動(dòng)MySQL二進(jìn)制日志,即數(shù)據(jù)同步語句,從數(shù)據(jù)庫會(huì)一條一條的執(zhí)行這些語句。 #binlog_do_db 指定記錄二進(jìn)制日志的數(shù)據(jù)庫,即需要復(fù)制的數(shù)據(jù)庫名,如果復(fù)制多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這個(gè)選項(xiàng)即可。 #binlog_ignore_db 指定不記錄二進(jìn)制日志的數(shù)據(jù)庫,即不需要復(fù)制的數(shù)據(jù)庫名,如果有多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這個(gè)選項(xiàng)即可。 #其中需要注意的是,binlog_do_db和binlog_ignore_db為互斥選項(xiàng),一般只需要一個(gè)即可。

        創(chuàng)建用戶和權(quán)限

        grant replication slave on . to masterbackup@’%’ identified by ‘123456’;

        %通配符,表示任意IP都可訪問主服務(wù)器,正式環(huán)境請配置指定從服務(wù)器IP

        創(chuàng)建完成后,通過命令重啟mysql服務(wù)

        service mysql restart

        通過命令show master status查看狀態(tài)

        實(shí)現(xiàn)MySQL的主從復(fù)制

        slave從服務(wù)器的配置

        同樣修改位于/etc/my.cnf目錄下的配置

        #在[mysqld]中添加: server-id=2relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index #replicate-do-db=master   #server-id 服務(wù)器唯一標(biāo)識,如果有多個(gè)從服務(wù)器,每個(gè)服務(wù)器的server-id不能重復(fù),跟IP一樣是唯一標(biāo)識,如果你沒設(shè)置server-id或者設(shè)置為0,則從服務(wù)器不會(huì)連接到主服務(wù)器。 #relay-log 啟動(dòng)MySQL二進(jìn)制日志,可以用來做數(shù)據(jù)備份和崩潰恢復(fù),或主服務(wù)器掛掉了,將此從服務(wù)器作為其他從服務(wù)器的主服務(wù)器。 #replicate-do-db 指定同步的數(shù)據(jù)庫,如果復(fù)制多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這個(gè)選項(xiàng)即可。若在master端不指定binlog-do-db,則在slave端可用replication-do-db來過濾。 #replicate-ignore-db 不需要同步的數(shù)據(jù)庫,如果有多個(gè)數(shù)據(jù)庫,重復(fù)設(shè)置這個(gè)選項(xiàng)即可。 #其中需要注意的是,replicate-do-db和replicate-ignore-db為互斥選項(xiàng),一般只需要一個(gè)即可。

        通過命令重啟mysql服務(wù)

        service mysql restart

        連接主數(shù)據(jù)庫

        #連接master主服務(wù)器 mysql> change master to master_host='103.246.246.225',master_port=3306,master_user='masterbackup',master_password='123456',master_log_file='master-bin.000001',master_log_pos=120;#master_host對應(yīng)主服務(wù)器的IP地址。 #master_port對應(yīng)主服務(wù)器的端口。 #master_log_file對應(yīng)show master status顯示的File列:master-bin.000001。 #master_log_pos對應(yīng)show master status顯示的Position列:120。

        啟用slave同步數(shù)據(jù)

        #啟動(dòng)slave數(shù)據(jù)同步 mysql> start slave;#停止slave數(shù)據(jù)同步(若有需要) mysql> stop slave;

        查看slave信息

        通過命令show slave statusG;查看slave信息

        實(shí)現(xiàn)MySQL的主從復(fù)制

        Slave_IO_Running和Slave_SQL_Running都為yes,則表示同步成功。

        測試

        實(shí)現(xiàn)MySQL的主從復(fù)制

        在隨便一張數(shù)據(jù)表中插入一筆數(shù)據(jù)

        實(shí)現(xiàn)MySQL的主從復(fù)制

        查看從數(shù)據(jù)庫相應(yīng)表

        實(shí)現(xiàn)MySQL的主從復(fù)制

        可以查看到,從數(shù)據(jù)庫已成功同步相應(yīng)數(shù)據(jù)!!

        想了解

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 久久精品麻豆日日躁夜夜躁| 自怕偷自怕亚洲精品| 国产精品视频一区二区三区| 日本精品久久久久久久久免费| 久久亚洲精品中文字幕三区| 欧美亚洲色综久久精品国产| 久热精品人妻视频| 高清在线国产午夜精品| 国产午夜无码精品免费看动漫| 亚洲欧美国产精品第1页 | 亚洲av永久无码精品漫画| 国产精品午夜无码AV天美传媒| 99re久久精品国产首页2020| 少妇人妻精品一区二区三区| 亚洲午夜精品久久久久久app| 九色精品视频在线观看| 国产精品 日韩欧美| 亚洲精品免费视频| 国产精品久久自在自线观看| 精品国产一区二区三区久久久狼| 中文字幕精品亚洲无线码一区应用| 日韩精品无码永久免费网站| 老司机精品影院91| 久久国产综合精品五月天| 国产69精品久久久久99| 亚洲午夜久久久精品影院| 精品无人区麻豆乱码1区2区| 国产精品久久久久国产A级| 久久精品亚洲中文字幕无码麻豆 | 国产在线拍揄自揄视精品不卡| 国产午夜无码精品免费看| 国内精品伊人久久久久av一坑 | 精品精品国产理论在线观看| 精品日韩欧美国产| 美女岳肉太深了使劲国产精品亚洲专一区二区三区| 国产成人久久精品二区三区| 国产精品婷婷午夜在线观看| 久久99精品国产麻豆婷婷| 日韩经典精品无码一区| 亚洲精品无码久久久久AV麻豆| 在线精品自拍无码|