3、執行FLUSH TABLES WITH READ LOCK語句清空所有表和塊寫入語句:
mysql> FLUSH TABLES WITH READ LOCK;
保持mysql客戶端程序不要退出。開啟另一個終端對主服務器數據目錄做快照。
shell> cd /usr/local/mysql/
shell> tar -cvf /tmp/mysql-snapshot.tar ./data
如果從服務器的用戶賬戶與主服務器的不同,你可能不想復制mysql數據庫。在這種情況下,應從歸檔中排除該數據庫。你也不需要在歸檔中包括任何日志文件或者master.info或relay-log.info文件。
當FLUSH TABLES WITH READ LOCK所置讀鎖定有效時(即mysql客戶端程序不退出),讀取主服務器上當前的二進制日志名和偏移量值:
mysql > SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.003 | 73 | test | manual,mysql |
+---------------+----------+--------------+------------------+
File列顯示日志名,而Position顯示偏移量。在該例子中,二進制日志值為mysql-bin.003,偏移量為73。記錄該值。以后設置從服務器時需要使用這些值。它們表示復制坐標,從服務器應從該點開始從主服務器上進行新的更新。
如果主服務器運行時沒有啟用--logs-bin,SHOW MASTER STATUS顯示的日志名和位置值為空。在這種情況下,當以后指定從服務器的日志文件和位置時需要使用的值為空字符串('')和4.
取得快照并記錄日志名和偏移量后,回到前一中端重新啟用寫活動:
mysql> UNLOCK TABLES;
4、確保主服務器主機上my.cnf文件的[mysqld]部分包括一個log-bin選項。該部分還應有一個server-id=Master_id選項,其中master_id必須為1到232–1之間的一個正整數值。例如:
[mysqld]
log-bin
server-id=1
如果沒有提供那些選項,應添加它們并重啟服務器。
文章來源于領測軟件測試網 http://www.kjueaiud.com/