天天看點

mysql伺服器主從伺服器設定1.  簡述 2.  步驟

mysql主從伺服器配置技術方案

通過mysql主從伺服器配置,實作資料庫資料備份功能,防止主伺服器資料檔案損壞造成的資料丢失問題,另外其另一個其主要功能是實作資料庫讀寫分離,降低主伺服器的負載。

為從伺服器建立同步賬号

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO'repl'@'192.168.127.%' IDENTIFIED BY 'repl';

說明:%是通配符,表示192.168.127.0-192.168.127.255的Server都可以以repl使用者名,以 repl密碼登入到主伺服器

停止主伺服器mysql服務

service mysqld stop

在主伺服器上導出要到同步到從伺服器的資料庫

指令格式:mysqldump -u 使用者名 -p 資料庫名 > 導出的檔案名

例如:

mysqldump -u root -p test >/root/test.sql

拷貝test.sql檔案到從伺服器

scp /root/test.sql  root@server2:/root

從伺服器加載資料

首先建立資料庫後執行加載資料操作:

mysql> create database test;

mysql> source /root/test.sql;

cp /etc/my.cnf /etc/my.cnf.bak

在[mysqld]節點下添加

server-id=1    #說明:server-id必須為唯一值,不能和從伺服器相同

log_bin=mysql-bin #啟動MySQ二進制日志系統

server-id=2

replicate_wild_do_table=test4.%

#說明test.%代表要同步test資料庫下所有的表,如果要同步多個資料庫再添加一行replicate_wild_do_table參數,如果不指定此參數代表同步所有資料庫。

service mysqld start;

mysql> CHANGE MASTER TOMASTER_HOST='192.168.127.147',

mysql> MASTER_USER='repl',MASTER_PASSWORD='repl',

mysql> MASTER_LOG_FILE='mysql-bin.000001',

msyql> MASTER_LOG_POS=0;

說明:MASTER_HOST主伺服器ip位址,MASTER_USER使用者名,MASTER_PASSWORD密碼,MASTER_LOG_FILE日志檔案,MASTER_LOG_POS要從檔案哪個位置記錄的資訊開始同步。

mysql> start slave;

service mysqldstart

mysql> show slave status;

後記:

1、如果主伺服器和從伺服器不指定要同步和忽略的資料庫,則預設會同步所有資料庫的資料。

2、可以在主伺服器上指定binlog-do-db=osyunweidb和binlog-ignore-db=mysql參數限制要同步和忽略的資料庫

3、可以在從伺服器上指定replicate_wild_do_table和replicate_wild_ignore_table限制要同步和忽略的資料庫

4、從伺服器使用replicate_do_db和replicate_ignore_db限制要同步和忽略的資料庫,會忽略掉跨資料表的增删改操作,是以不建議。

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