三、配置
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完畢.
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)定製的複製方案