
*****
## 主從復制
### 復制的基本原理

### 復制的三步驟
* 1.master將改變記錄到二進制日志。這些記錄過程叫做二進制日志事件,binary log events
* 2.slave將master的binary log events拷貝到它的中繼日志
* 3.slave重做中繼日志中的事件,將改變應用到自己的數據庫中。MySQL復制是異步的且串行的
### 復制的基本原則
* 1.每個slave只有一個master
* 2.每個slave只能有一個唯一的服務器ID
* 3.每個master可以有多個salve
### 一主一從常見配置
* MySQL版本一致且后臺服務可以運行
* 主從主機可以相互通信
* 主從配置都在\[mysqld\]結點下,都是小寫
主機配置文件-my.ini
~~~
server-id = 1 # [必須]主服務器唯一ID
log-bin = 自己本地的路徑/mysqlbin # [必須]啟用二進制日志
log-err = 自己本地的路徑/mysqlerr # [可選] 啟用錯誤日志
從機配置文件-mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf
server-id = 1 # [必須]主服務器唯一ID
log-bin = 自己本地的路徑/mysqlbin # [可選]啟用二進制日志
~~~
修改過配置文件之后,要重啟MySQL服務
~~~
service mysql restart
~~~
主從都關閉防火墻
~~~
service iptables stop
~~~
在Windows主機上建立賬戶并授權slave
```
grant replication slave on *.* to 'zhangsan'@'從機數據庫IP' identified by '123456';
show master status;
記錄下File和position的值
```
配置Linux從機
```
change master to master_host = '192.168.0.161',
master_user = 'juran',
master_password = '123',
master_log_file = 'binlog.000004',
master_log_pos= 908;
```
### 測試是否配置成功
```
start slave; 啟動從服務器復制功能
show slave status\G
下面兩個參數都是yes,則說明主從配置成功
slave_io_running:yes
slave_sql_running:yes
```
- 1-數據庫-基本使用
- 1-1-數據存儲
- 1-2-數據庫
- 1-3-MySQL安裝和配置
- 1-4-SQL
- 1-5-數據完整性
- 1-6-命令行操作數據庫
- 2-MySQL查詢
- 2-1-MySQL查詢
- 2-2-條件
- 2-3-聚合函數
- 2-4-分組
- 2-5-排序
- 2-6-分頁
- 2-7-連接查詢
- 2-8-子查詢
- 2-9-自關聯
- 3-MySQL外鍵
- 4-MySQL與Python交互
- 4-1-數據準備
- 4-2-數據表的拆分
- 4-3-Python操作MySQL
- 5-MySQL高級
- 5-1-視圖
- 5-2-事務
- 5-3-索引
- 5-4-賬戶管理(了解)
- 6-數據庫存儲引擎
- 6-1-MyISAM存儲引擎
- 6-2-Innodb存儲引擎
- 6-3-CSV存儲引擎
- 6-4-Memory存儲引
- 7-MySQL基準測試
- 8-explain分析SQL語句
- 8-1-影響服務器性能的幾個方面
- 8-2-explain分析SQL
- 9-索引優化案例
- 10-索引優化
- 11-排序優化
- 12-慢查詢日志
- 13-Show Profile進行SQL分析
- 14-數據庫鎖
- 15-主從復制
- 16-MySQL分區表
- 17-MySQL操作規范