mysql 複製 總結(一) 基本概念以及環境搭建



三、配置

1)配置過程概要

(1)主庫新建複製賬號

(2)主庫開啓binlog,配置server_id,從庫配置server_id,從庫配置中繼日誌,日誌更新是否寫入本地,設置只讀

(3)啓動複製,change master to ......

2)這裏假設主庫運行一段時間,配置從庫,不停庫增加從庫,詳細步驟如下(mysqldump方式 也可xtrabackup方式):

1)從庫mysql數據庫安裝省略,mysql版本如下,需在主從庫確認版本是否一致,確保從庫版本大於等於主庫:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.19    |
+-----------+
1 row in set (0.00 sec)

2)主庫配置複製賬號,賦予replication slave權限。

grant replication slave, super,reload  on *.* to 'slave3306'@'192.168.1.%' identified by 'slavepwd';

這裏如果報錯ERROR 1827 (HY000): The password hash doesn't have the expected format 

可執行 set old_passwords=0; 解決。

3)主庫my.cnf配置

[mysqld]
default-storage-engine=InnoDB
datadir=/data/mysql/mysql3306/data
log-bin=/data/mysql/mysql3306/log/binlog3306
server-id=1
binlog-ignore-db=mysql 
binlog-ignore-db=information_schema

從庫my.cnf配置

[mysqld]
datadir=/data/mysql/mysql3307/data
default-storage-engine = InnoDB
log-bin=/data/mysql/mysql3307/log/mysql3307
server-id=2
log_slave_updates = 1
relay-log=relay-bin
relay-log-index=relay-bin
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
log_bin_trust_function_creators = 1

重啓主庫、從庫

4)備份主庫

mysqldump -uroot -proot--routines --single_transaction --master-data=2 --databases testData > testData .sql

--routines:導出存儲過程和函數

--single_transaction:導出開始時設置事務隔離狀態,並使用一致性快照開始事務,然後unlock tables;而lock-tables是鎖住一張表不能寫操作,直到 dump完畢.

--master-data:默認等於1,將dump起始(change master to)binlog點和pos值寫到結果中,等於2是將change master to寫到結果中並註釋。

5)備份拷貝到從庫並恢復

mysql -uroot -proot -e 'create database testData

  mysql -uroot -proot testData testData .sql 

6)在備份文件testData 查看binlog和pos值

head -25 testData .sql 

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;   #大概22行

start slave;

四、複製拓撲

1)一主庫多備庫

2)主動模式下的  主—主複製

3)被動模式下的 主—主複製

4)擁有備庫的主主結構

5)環形複製

6)主庫、分發主庫以及備庫

7)樹狀複製或金字塔型

8)定製的複製方案


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章