天天看點

Mysql 主從搭建【菜鳥篇】

最近看到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&gt;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&gt;show slave status\G;</code>

   其中 Slave_IO_Running 和 Slave_SQL_Running 兩列的值都為 "Yes",表明 Slave 的 I/O 和 SQL 線程都在正常運作。

   最後解鎖主庫上的表:

<code>mysql&gt;unlock tables;</code>

   到此主從的一個搭建就完成了,搭建的過程很簡單,重要的是如何解決在使用過程中出現的一系列問題,這方面我沒什麼經驗,也就沒什麼話語權,隻有等以後遇到了在和大家分享吧

本文轉自 linuxsong 51CTO部落格,原文連結:http://blog.51cto.com/song49/1218685,如需轉載請自行聯系原作者