MySQL主從又叫作Replication、AB複製。簡單講就是A和B兩臺機器作主從後,在A上寫數據,另一臺B也會跟着寫數據,二者數據實時同步的mysql
MySQL主從是基於binlog的,主上須開啓binlog才能進行主從。linux
主從過程大體有3個步驟sql
1)主將更改操做記錄到binlog裏測試
2)從將主的binlog事件(sql語句)同步到從本機上並記錄在relaylog裏spa
3)從根據relaylog裏面的sql語句按順序執行線程
主上有一個log dump線程,用來和從的I/O線程傳遞binlogserver
從上有兩個線程,其中I/O線程用來同步主的binlog並生成relaylog,另一個SQL線程用來把relaylog裏面的sql語句落地事件
安裝mysql同步
修改my.cnf,增長server-id=116和log_bin=aminglinux1it
修改完配置文件後,啓動或者重啓mysqld服務
把mysql庫備份並恢復成aming庫,做爲測試數據
mysqldump -uroot mysql > /tmp/mysql.sql
mysql -uroot -e 「create database aming」
mysql -uroot aming < /tmp/mysql.sql
建立用做同步數據的用戶
flush tables with read lock;
show master status;
安裝mysql
查看my.cnf,配置server-id=132,要求和主不同
修改完配置文件後,啓動或者重啓mysqld服務
把主上aming庫同步到從上
能夠先建立aming庫,而後把主上的/tmp/mysql.sql拷貝到從上,而後導入aming庫
start slave;
還要到主上執行 unlock tables
主上 mysql -uroot aming
use aming; 進入aming庫
show tables; 列出aming庫裏全部的表
select count(*) from db; 查看某個表的信息
truncate table db; 清空某個表
到從上 mysql -uroot aming
use aming; 進入aming庫
show tables; 列出aming庫裏全部的表
select count(*) from db; 查看某個表的信息
主上繼續drop table db; 刪除某個表
從上查看db表