MySQL搭建帶過濾的複製環境
單位準備新上線一些功能,這些功能和原來生產庫模組的功能是沒有關係的,準備建立一個資料庫給它使用。
但是他需要關聯查詢原來生產庫的某些表。
後來的方案就是建立一個庫,從原來的生產庫複製需要的那幾個表過來用於關聯查詢。
類比如下
Master類比生產庫,Slave是建立的資料庫,只是從Master伺服器複製表A。
1.Master初始化資料,類比線上運行一段時間的資料庫
create database mvbox;
use mvbox;
create table a as select * from mysql.user;
create table b as select * from mysql.db;
2.Master建立複製帳號
grant replication slave,replication client on *.*
to xx@'%' identified by 'xx';
3.修改Slave的設定檔
replicate-do-table=mvbox.a
4.Slave建立目標資料庫 mvbox
create database mvbox;
5.Slave配置複製資訊
change master to
master_host='192.168.56.1',
master_port=3306,
master_user='xx',
master_password='xx';
6.Slave匯入Master的資料(Slave伺服器上執行)
mysqldump -uxx -pxx -h192.168.56.1 --single-transaction --master-data mvbox a | mysql -uroot -Dmvbox
原理:
這個過程執行之前,查看Master的binlog位置
假如在Slave上產生Master SQL檔案的內容
mysqldump -uxx -pxx -h192.168.56.1 --single-transaction --master-data mvbox a > a.sql
可以看到產生的內容已經包括了Master伺服器binlog的資訊
應用了mysqldump的內容之後
此時查看Slave的複製狀態
7.在Slave上啟動複製
start slave;
--------------------------------------分割線 --------------------------------------
Ubuntu 14.04下安裝MySQL
《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF
Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
Ubuntu 14.04下搭建MySQL主從伺服器
Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集
Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二進位安裝
--------------------------------------分割線 --------------------------------------
本文永久更新連結地址: