1、開啟主數據庫服務器的binary logging,並且分配唯一的server-id。打開配置文件/etc/qa_my.cnf,並且在[mysqld]分組下增加指令:
[mysqld] log-bin=mysql-bin server-id=3
2、然後重啟主服務器:
mysqladmin -uroot -p shutdown /usr/local/mysql/bin/mysqld_safe --user=mysql &
1、為從服務器配置唯一的server-id。打開配置文件/etc/my.cnf,在[mysqld]分組下面增加指令:
[mysqld] server-id=5
2、重啟從服務器:
mysqldump-uroot -p shutdown /usr/local/mysq/bin/mysqld_safe --user=mysql &
1、在本地打開一個終端,並給數據表增加讀鎖,防止寫操作的發生:
mysql-h 10.0.0.1 -uxingwang -p ->flush tables with read lock;
2、在本地打開另一個終端,執行以下語句:
mysql-h 10.0.0.1 -uxingwang -p ->show master status;
查詢出來的結果當中,File列表示當前的log文件名,Position列表示文件中的位置。
也就是說,現在binlog記錄到了這個位置。
1、保持上一部分打開的第一個終端不關閉;
2、將主服務器數據目錄下的數據文件拷貝到從服務器。包括目標數據表的文件夾和innodb引擎的ibdata*、ib_logfile*文件:
mkdir /usr/local/mysql/data/test scp xingwang@'10.0.0.1':/usr/local/var/test /usr/local/mysql/data/test scp xingwang@'10.0.0.1':/usr/local/var/ibdata1 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ibdata2 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile1 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile2 /usr/local/mysql/data/
1、打開一個從服務器的終端,執行一下命令:
mysql-u root -p ->CHANGE MASTER TO MASTER_HOST= '10.0.0.1', MASTER_PORT= '3306', MASTER_USER= 'xingwang', MASTER_PASSWORD= '***', MASTER_LOG_FILE= '', MASETE_LOG_POS= '';
2、執行start salve;