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,如需轉載請自行聯系原作者