當前位置:
首頁 > 最新 > MySQL資料庫主從複製

MySQL資料庫主從複製

一般來說都是通過 主從複製(Master-Slave)的方式來同步數據,再通過讀寫分離(MySQL-Proxy)來提升資料庫的並發負載能力 這樣的方案來進行部署與實施的。本文介紹通過log-bin來實現資料庫主從。

一、MySQL主從複製。

主伺服器(master):47.75.154.120

從伺服器(slave):59.110.173.87

1、主伺服器配置

啟動mysql資料庫服務:

mysql start

查看mysql配置文件位置:

mysql --help|grep "my.cnf"

mysql服務啟動 ,會從左到右依次檢測配置文件,如果沒有則載入默認配置

主伺服器配置添加如下配置

配置主資料庫

[mysqld]

#[必須]啟用二進位日誌

log-bin=mysql-bin

#[必須]伺服器唯一ID,默認是1,一般取IP最後一段 (主伺服器不配置也ok)

server-id=87

#忽略備份

binlog_ignore_db=iperformance_schema,information_schema,mysql,sys

#備份

#binlog-do-db=

重啟mysql資料庫

mysqld restart

登錄資料庫

mysql -uroot -p

查看資料庫配置是否生效

mysql>show variables like "server_id";

mysql> show variables like "log_bin";

在主伺服器新建一個用戶並賦予「REPLICATION SLAVE」的許可權。

mysql>CREATE USER "sync"@"59.110.173.87"IDENTIFIED BY "slave"

mysql>GRANT REPLICATION SLAVE ON *.* TO"sync"@"59.110.173.87"IDENTIFIED BY "slave"

查看主資料庫狀態,記錄File與Position的值。

mysql>show master status;

2、從伺服器配置

修改為server-id,並確保這個ID沒有被別的MySQL服務所使用,並重啟後登錄。

先停止slave

mysql> stop slave;

執行從伺服器同步命令

mysql>CHANGE MASTER TO

>MASTER_HOST="47.75.154.120",

>MASTER_USER="sync",

>MASTER_PASSWORD="slave",

>MASTER_PORT=3306,

>MASTER_LOG_FILE="mysql-bin.000007",

>MASTER_LOG_POS=1141303;

啟動slave服務

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql> start slave;

查看slave狀態

mysql> show slave statusG

3、效果展示

主伺服器操作前

從伺服器操作前

主伺服器操作(create database test;)

從伺服器自動更新

4、注意

主表有數據時最好先鎖表

mysql> FLUSH TABLES WITH READ LOCK

之後在解鎖

mysql>UNLOCK TABLES;

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP技術拓展 的精彩文章:

TAG:PHP技術拓展 |