国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

mysql5.5主從同步復制配置_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 19:39:50
文檔

mysql5.5主從同步復制配置_MySQL

mysql5.5主從同步復制配置_MySQL:在上篇文章《爛泥:學習mysql數據庫主從同步復制原理》中,我們介紹了有關mysql主從復制的基本原理。在這篇文章中,我們來實際測試下mysql5.5的主從同步復制功能。 注意mysql5.1.7以前版本與其以后的版本在主從同步部分參數不同。mysql5.1.7以后的
推薦度:
導讀mysql5.5主從同步復制配置_MySQL:在上篇文章《爛泥:學習mysql數據庫主從同步復制原理》中,我們介紹了有關mysql主從復制的基本原理。在這篇文章中,我們來實際測試下mysql5.5的主從同步復制功能。 注意mysql5.1.7以前版本與其以后的版本在主從同步部分參數不同。mysql5.1.7以后的
在上篇文章《爛泥:學習mysql數據庫主從同步復制原理》中,我們介紹了有關mysql主從復制的基本原理。在這篇文章中,我們來實際測試下mysql5.5的主從同步復制功能。

注意mysql5.1.7以前版本與其以后的版本在主從同步部分參數不同。mysql5.1.7以后的版本中不支持master-connect-retry之類的參數。如果在my.cnf文件中加入該類似的參數,mysql會在下次重啟時報錯。

說明:主庫master與從庫slave都是centos6.5 64bit,如下:

cat /etc/system-release

clip_image001

主庫master與從庫slave都是mysql數據庫版本都為5.5.39。

mysql –V

clip_image002

主庫master與從庫slave的IP分別如下:

master IP:192.168.1.213 slave IP:192.168.1.214

clip_image003

我們以主庫master的ilanni數據庫為實驗對象,如下:

clip_image004

根據《爛泥:學習mysql數據庫主從同步復制原理》文章可知,mysql的主從同步復制過程如下:

1、主庫master在執行SQL語句之后,會把相關的SQL語句記錄到binlog文件中。

2、從庫slave連接主庫master,并從主庫master獲取該binlog文件,存于本地relay-log文件中,然后從master.info文件讀取上次同步時的pos位置節點起執行SQL語句。

由以上信息可知,我們的mysql主從同步復制實驗,需要以下幾個步驟:

1、 配置主庫master同步復制時的選項

2、 在主庫master上創建同步復制時的用戶并授權

3、 主庫master鎖表

4、 記錄主庫master的binlog以及pos位置節點

5、 導出ilanni數據庫

6、 配置slave端同步復制時所需要的選項

7、 在從庫slave上創建數據庫ilanni并導入備份

8、 解鎖主庫表

9、 設置從庫slave與主庫master同步

10、 在從庫slave上開啟同步

11、 查看從庫slave的relay-log以及master.info

12、 測試主從同步

一、配置主庫master同步復制時的選項

mysql的主從配置,我們只需要修改my.cnf文件即可。如下:

cat /etc/my.cnf |grep -v ^#|grep -v ^$

log-bin=mysql-bin

max_binlog_size = 500M

server-id=1

binlog-do-db=ilanni

binlog-ignore-db=mysql

clip_image005

其中log-bin=mysql-bin表示啟用mysql二進制日志,該項必須要啟用,否則mysql主從不會生效。

max_binlog_size=500M表示每個binlog文件最大大小,當此文件大小等于500M時,會自動生成一個新的日志文件。注意:一條記錄不會寫在2個日志文件中,所以有時日志文件會超過此大小。

server-id=1表示mysql服務器ID,該ID必須在該主從中是唯一的,默認是1,該ID可以自行自定義,但必須為數字。

binlog-do-db=ilanni表示需要同步的數據庫名字,如果是多個數據庫,就以此格式再寫一行即可。

binlog-ignore-db=mysql表示不需要同步的數據庫名字,如果是多個數據庫,就以此格式再寫一行即可。

注意:如果binlog-do-db和binlog-ignore-db不加的話,那么默認是同步復制整個mysql數據庫。

二、在主庫master上創建同步復制時的用戶并授權

登錄master端,創建數據庫用戶ilanni,并授權為replication slave權限。如下:

grant replication slave on *.* to 'ilanni'@'%' identified by '123456';

select user,repl_slave_priv from user where user='ilanni';

clip_image006

通過上圖,我們可以看到目前數據庫用戶ilanni被授予replication slave權限,在user表中的表現為repl_slave_priv字段為Y。

注意:replication slave權限:只有擁有此權限的用戶才可以查看從服務器slave以及從主服務器master讀取二進制日志的權限。

授權完畢后,我們需要在slave測試ilanni用戶是否可以連接master。如下:

ifconfig eth0|grep "inet addr"|awk '{print $2}'|cut -d: -f2

mysql -h 192.168.1.213 -uilanni -p123456

clip_image007

通過上圖我們可以看到,目前在從服務器slave已經可以正常連接master服務器。

三、 主庫master鎖表

先鎖住主庫master的表,防止數據再寫入,導致主從數據庫不一致。使用如下命令鎖表:

flush tables with read lock;

clip_image008

這樣主庫master只能被讀取,而不能被寫入數據。如下:

clip_image009

通過上圖可以看到,目前主庫已經不能再寫入數據。

注意:目前這個鎖表的終端不要退出,否則這個鎖就失效了。

四、記錄主庫master的binlog文件名以及pos位置節點

為什么要記錄此時主庫master的binlog文件名以及pos位置節點?

因為當我們把主庫的數據庫遷移或導入到從庫slave后,我們就會讓從庫slave從這個binlog文件的該pos位置節點與主庫master同步。

查看主庫master的binlog文件名及pos位置節點,如下:

show master status;

show master status\G;

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000003

clip_image010

通過以上兩張截圖,我們可以很明顯的看到目前主庫的binlog為mysql-bin.000003,pos位置節點為1616。

五、導出ilanni數據庫

在從庫slave與主庫master第一次同步數據時,有三種方法。

第一種方法就是在主庫鎖表后,使用tar把master庫直接打包,然后使用scp或者rsync把該打包文件弄到從庫slave上。這種情況一般適用于網站或者業務在初始化,抑或在數據庫大于100G時建議使用。

第二種方法就是在主庫鎖表后,我們直接使用mysqldump命令導出數據庫,然后在從庫上進行恢復。這個方法比較常見,所以我們一般是使用這個方法。

注意以上兩種方法,我們都需要進行在主庫master鎖表后進行操作。

第三種方法,其實我們不需要做其他工作。只需開啟同步復制即可。但是這個有一個前提就是,mysql的binlog必須齊全,這個齊全就是要包括該數據創建時的binlog也要存在。并且同步時,還必須要從最初始的binlog開始。所以,這種方法,我們一般不使用。

下面我們是通過第二種方法來導出ilanni數據庫,如下:

mysqldump -uroot -p123456 ilanni>ilanni.sql

ll -h |grep ilanni.sql

clip_image011

現在我們再把ilanni數據庫的備份文件ilanni.sql,通過scp命令復制到從庫slave上,如下:

scp ilanni.sql root@192.168.1.214:/root

clip_image012

六、配置從庫slave同步復制時所需要的選項

從庫slave上我們只需要在my.cnf文件中,修改server-id值為唯一即可。如下:

cat /etc/my.cnf|grep -v ^#|grep -v ^$

clip_image013

七、在從庫slave上創建數據庫ilanni并導入備份

我們在第五步已經把ilanni的備份文件通過scp命令復制到從庫,現在我們需要在從庫slave上,然后把備份的數據導入進去。如下:

create database ilanni;

mysql –uroot –p123456 ilanni

clip_image014

clip_image015

通過上圖,我們可以看到目前從庫已經完全恢復ilanni數據庫。

八、解鎖主庫master表

從庫slave的ilanni數據庫創建并導入備份后,我們現在來解鎖主庫master表,使用如下命令:

unlock tables;

clip_image016

九、設置從庫slave與主庫master同步

在第七步中我們已經恢復ilanni數據庫的數據,我們來開始設置從庫slave與主庫master同步,使用如下命令:

change master to master_host='192.168.1.213',master_user='ilanni',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=1616, master_connect_retry=100;

其中:master_host表示是主庫的IP

master_user表示主庫master上允許同步的用戶

maser_password表示同步用戶的密碼

master_log_file表示從哪個binlog文件開始同步

master_log_pos表示從該binlog文件的那個pos節點位置開始同步

master_connect_retry表示從庫slave與主庫master同步周期,默認是60s。

注意:master_log_file和master_log_pos,就是我們在第四步記錄的binlog文件名和pos位置節點。

clip_image017

十、在從庫slave上開啟同步

以上配置完畢后,我們現在來開啟主從同步。開啟主從同步,我們需要在從庫上開啟。開啟主從同步非常簡單,只需一條命令即可,如下:

start slave;

clip_image018

以上就開啟了mysql主從同步復制的開關。我們使用如下命令檢查,同步是否正常。如下:

show slave status\G;

clip_image019

我們查看同步是否主要是查看Slave_IO_Running與Slave_SQL_Running選項。如果正常同步,這兩選必須同時為YES。

如果Slave_IO_Running為NO,說明可能是從庫與主庫的網絡不通。

如果Slave_SQL_Running為NO,說明很可能是從庫與主庫的數據不一致。

通過上圖,我們可以看到目前Slave_IO_Running和Slave_SQL_Running都為YES。說明現在主從同步是正常的。

并且通過上圖,我們也可以看到從庫slave與主庫master剛開始同步時的binlog文件名以及開始同步時的pos位置節點。

十一、查看從庫slave的relay-log以及master.info

現在我們來查看從庫relay-log以及master.info信息,我們首先看relay-log信息,如下:

clip_image020

mysqlbinlog ilanni-relay-bin.000002|more

clip_image021

通過這張圖,我們可以在relay-log日志中看到,從庫slave開始同步主庫的binlog文件名以及同步復制時的pos位置節點。

現在我們來查看master.info,如下:

cat master.info |more

clip_image022

可以看到這個文件保存了從庫slave同步主庫master時的相關信息:IP、用戶、密碼、binlog文件名、pos位置節點、同步周期。

十二、測試主從同步

現在我們來測試下,mysql的主從同步。先在主庫master上給ilanni數據庫插入和刪除一條數據。如下:

insert into ilannitable values(6);

delete from ilannitable where id=2;

select id from ilannitable;

clip_image023

此時主庫master的ilanni數據庫中只有1、3、4、5、6,這個5條數據。

現在我們登錄從庫slave,查看下ilanni數據庫的情況。如下:

clip_image024

通過上圖,我們可以看到從庫slave中的ilanni數據庫和主庫master中的ilanni數據庫,數據是一致。說明主從已經同步復制已經成功。

現在我們再來查看master.info文件的信息,如下:

mysqlbinlog /usr/local/mysql/data/mysql-bin.000003

cat master.info |more

clip_image025

通過上圖中,主庫的binlog文件的pos位置節點與master.info對比。我們可以發現master.info文件中確實記錄了mysql在同步復制時的binlog文件名以及pos位置節點。

至此,有關mysql主從同步復制的實驗暫時告一段落。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysql5.5主從同步復制配置_MySQL

mysql5.5主從同步復制配置_MySQL:在上篇文章《爛泥:學習mysql數據庫主從同步復制原理》中,我們介紹了有關mysql主從復制的基本原理。在這篇文章中,我們來實際測試下mysql5.5的主從同步復制功能。 注意mysql5.1.7以前版本與其以后的版本在主從同步部分參數不同。mysql5.1.7以后的
推薦度:
標簽: 復制 同步 5.5
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品合集一区二区三区 | 欧美另类亚洲 | 国产原创91 | 国产欧美日韩高清专区手机版 | 在线免费黄色网址 | 日韩欧美91 | 一级毛片免费的 | 久久精品99久久香蕉国产色戒 | 另类国产精品一区二区 | 日韩中文欧美 | 国产成人久久精品区一区二区 | 91国内精品久久久久影院优播 | 99久久精品国产国产毛片 | 日韩视频免费 | 亚洲一区二区在线免费观看 | 欧美精品一区二区三区免费 | 久久国产欧美日韩高清专区 | 中文字幕三区 | 日韩欧美国产高清在线观看 | 日韩国产免费 | 午夜视频在线 | 精品视频第一页 | 自拍 欧美 在线 综合 另类 | 一级毛片在线看在线播放 | 国产亚洲一区二区三区在线观看 | 日韩第3页 | 日本三级韩国三级韩级在线观看 | 欧美在线一区二区三区 | 国产一二区视频 | 成人区精品一区二区不卡亚洲 | 久久精品一级 | 美国美女一级毛片免费全 | 在线欧美日韩精品一区二区 | 亚洲国产成人精品久久 | 亚洲 欧美 91 | 伊人伊成久久人综合网777 | 成人亚洲国产综合精品91 | 欧美一区二区三区免费播放 | 国产精品va在线观看一 | 久久亚洲伊人成综合人影院 | 亚洲欧美一区二区三区不卡 |