mysql主從數據庫

今天創建使用了一下MySQL主從數據庫,個人感覺就是,SQL一分爲二主從執行,畢竟一行數據的增加,從數據庫也會增加。這和定時備份數據又完全不同。實時將數據備份一份,但功能是否僅侷限於備份呢?今天剛開始使用,如果真是能保證數據的一致性。那麼主從做讀寫分離,減輕服務器的壓力的也可以

 

下面開始就記錄一下過程:

準備2個數據庫

 

對兩個數據庫進行連接。

 

在這個過程中,需要在my.ini或linux的my.cnf?這兩個文件,更改各自端口以及各自的數據存儲路徑以及基礎路徑。

對新建的庫進行初始化,mysqld --initialize-insecure

 

對這兩個MySQL服務進行連接:主數據庫3306,從數據庫3307

 

以下是在主庫進行操作:

 

在主數據庫使用命令:

GRANT REPLICATION SLAVE ON *.* TO 'daomu'@'127.0.0.1'IDENTIFIED BY 'mysql';

這句話的意思是,許可複製到從數據,進行允許賦值。後面是複製的域,指定誰能來複制,否則誰都能摻一腳?指定用戶,IP以及密碼,最後那是密碼,此時查看user表

主表增加了一個用戶

 

SHOW MASTER STATUS;

語義應該是,顯示主分之的狀態,我們需要留意的狀態有,file以及position

 

 

以下是從庫的操作:

 

stop slave;

CHANGE MASTER TO
MASTER_HOST='127.0.0.1',            #主庫分配的地址
MASTER_USER='daomu',                #主庫分配的用戶
MASTER_PASSWORD='mysql',       #主庫分配的密碼
MASTER_LOG_FILE='mysql-bin.000002',        #主庫的file
MASTER_LOG_POS=1015;                #主庫的位置編號

START SLAVE;

 

stop slave;  停止,應該是停止與主庫的從屬關係

中間一溜是對主庫的描述

START SLAVE;,開始與主庫建立從屬關係

 

 SHOW SLAVE STATUS\G

查看從屬狀態:

可以檢查以下配置是否OK,注意這兩個地址,當都爲yes時,表示主從配置成功了。之前我將密碼配置錯誤,slave_io就爲conn...需要注意這兩個爲yes則OK

 

主從配置完畢,檢查效果:

 

主從的複製關係,是從建立上關係開始的。之前有的是沒有複製到從庫的,現在從庫只有幾個被初始化的庫,現在開始測試:

 

主庫創建數據庫,從庫也跟着就增加了

 

主庫增加數據,並查詢得到數據。查詢從庫,也一併進行了數據插入,也能查詢得到數據

 

這就是主從庫目前提現的效果。可以說是主從一起更新。不過我有猜想,這個關係應該是基於網絡傳輸的,如果網絡斷開,但關係保持。會怎麼樣?當網絡正常,但主配置錯誤,會怎麼樣?不過目前效果已經提現出來了。

 

運行了一會就同步不上了,再次查看狀態,運行爲no了,出現的異常是表格不存在。

情況是,測試刪除從庫表格,主庫繼續操作表格,這時應該來同步從庫,從庫要執行的操作,是修改表格數據。但表格都沒有了,出現錯誤。後續的更新也都停止了

測試可以針對這種錯誤的解決辦法是:

mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;  

 #客戶端運行,用來跳過幾個事件,只有當同步進程出現錯誤而停止的時候纔可以執行。
mysql> start slave ;

 

主從,主庫進行操作,從庫也會操作。如果是針對從庫操作,主庫再次來操作,發現有問題異常出現,就停止更新數據了。讀寫分離應該是,寫主庫,更新從庫,就讀從庫。主從關係大概是這樣的。操作主庫,讀取從庫。實現分離

 

在這裏,主更新,從也更新。大體的配置如下:

1:主許可數據允許複製,並創建用戶做身份驗證

2:主查詢自己的狀態,得到file與position

3:從根據主創建的用戶,在自己身上配置一份

4:開啓主從關係,並查看自己的狀態,通過狀態得到關係是否建立成功

5:當都爲yes時,主從庫關係建立成功,數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章