最近看到51上很多mysql主從相關的文章,就參照了自己也搭建了下,分享下成果。
作者寫本篇文章的時候是以一個mysql小白甚至連mysql主從都沒有聽過的菜鳥的角度去寫的,是以本篇文章适用于mysql小白,也歡迎各位大神吐槽,留言~~
ps:因為是參照他人的Blog搭的,是以此篇文章版權方面屬于轉載~!
一、Mysql主從的概念
通俗點來說Mysql主從的話,就可以了解為“兩台機器,都安裝好mysql,一個為主,一個為從,日常的讀寫操作都是由主來完成,等到主出問題了,從可以接管主的位置”,從mysql起到了一個備份的作用。
<a target="_blank" href="http://10240214.blog.51cto.com/6634068/1216339">o(∩_∩)o 點我檢視圖檔原文</a>
關于主從上安裝mysql的版本方面有一點需要注意的是:Mysql主從允許從庫版本高于主庫,但不允許主庫版本高于從庫。
二、Mysql主從的配置
主庫:
1、預設安裝好mysql後配置檔案的路徑為/etc/my.cnf,你可以不去管mysql配置檔案的其他參數,但是做主從一定要加的參數如下:-
1
2
3
4
5
6
7
<code>server-id = </code><code>1</code> <code>###</code><code>1</code><code>代表目前mysql為主庫</code>
<code>log-bin=mysql-bin ###bin-log檔案命名格式</code>
<code>binlog-</code><code>do</code><code>-db=mysql ###需要備份同步的資料庫名</code>
<code>binlog-ignore-db=mysql ###不備份同步的資料庫名</code>
<code>log-slave-updates ###自動更新mysql操作記錄到二進制檔案</code>
<code>slave-skip-errors ###遇到錯誤跳過,繼續複制操作</code>
<code>***如果需要備份同步多個資料庫的話,就多寫幾個binlog-</code><code>do</code><code>-db = 參數就可以了~</code>
2、在主庫上建立用于複制同步mysql資料的使用者
<code>grant replication slave on *.* to slave@</code><code>192.168</code><code>.</code><code>50.35</code> <code>identified by ‘</code><code>111111</code><code>′;</code>
<code>###建立一個使用者名為slave,密碼</code><code>111111</code><code>的使用者,指定從庫的IP位址為</code><code>192.168</code><code>.</code><code>50.35</code>
3、鎖主庫表,為一會的從庫同步做準備
<code>FLUSH TABLES WITH READ LOCK;</code>
4、檢視主庫相關資訊
記錄File和Position,從庫設定将會用到
注:mysql-bin預設是00001的,因為我這個主從搭建有幾天了,是以現在是2,記住Position字段.
從庫:
1、同樣安裝好mysql後編輯配置檔案,/etc/my.cnf,添加如下字段
<code>server-id = </code><code>2</code> <code>###</code><code>2</code><code>代表目前mysql為從庫</code>
注:從庫中添加的配置參數除了server-id 和主庫不一樣以外,其他均相同。
2、在從庫上設定同步
<code>mysql>stop slave;</code>
<code>CHANGE MASTER TO MASTER_HOST=</code><code>'192.168.50.30'</code><code>,MASTER_USER=</code><code>'slave'</code><code>,MASTER_PASSWORD=</code><code>'111111'</code><code>,MASTER_LOG_FILE=</code><code>'mysql-bin.000002'</code><code>,MASTER_LOG_POS=</code><code>106</code><code>;</code>
<code>start slave;</code>
檢視slave狀态:
<code>mysql>show slave status\G;</code>
其中 Slave_IO_Running 和 Slave_SQL_Running 兩列的值都為 "Yes",表明 Slave 的 I/O 和 SQL 線程都在正常運作。
最後解鎖主庫上的表:
<code>mysql>unlock tables;</code>
到此主從的一個搭建就完成了,搭建的過程很簡單,重要的是如何解決在使用過程中出現的一系列問題,這方面我沒什麼經驗,也就沒什麼話語權,隻有等以後遇到了在和大家分享吧
本文轉自 linuxsong 51CTO部落格,原文連結:http://blog.51cto.com/song49/1218685,如需轉載請自行聯系原作者