MYSQL主從配置

MYSQL介紹,配置MYSQL主mysql

MySQL主從又叫作Replication、AB複製。簡單講就是A和B兩臺機器作主從後,在A上寫數據,另一臺B也會跟着寫數據,二者數據實時同步的 MySQL主從是基於binlog的,主上須開啓binlog才能進行主從。 主從過程大體有3個步驟 1)主將更改操做記錄到binlog裏 2)從將主的binlog事件(sql語句)同步到從本機上並記錄在relaylog(中繼日誌)裏 3)從根據relaylog裏面的sql語句按順序執行 主上有一個log dump線程,用來和從的I/O線程傳遞binloglinux

從上有兩個線程,其中I/O線程用來同步主的binlog並生成relaylog,另一個SQL線程用來把relaylog裏面的sql語句落地sql

主從配置 - 主上操做數據庫

安裝mysql
修改my.cnf,增長server-id=130和log_bin=aminglinux1
修改完配置文件後,啓動或者重啓mysqld服務
把mysql庫備份並恢復成aming庫,做爲測試數據
mysqldump -uroot -p123 mysql > /tmp/mysql.sql
mysql -uroot -e 「create database aming」
mysql -uroot -plinbs123 aming < /tmp/mysql.sql
建立用做同步數據的用戶
grant replication slave on *.* to 'repl'@slave_ip identified by 'password';
flush tables with read lock;        //鎖表,中止寫操做
show master status;

輸入圖片說明

grant replication slave on *.* to 'repl'@192.168.137.122 identified by 'linbs123';
flush tables with read lock;        //鎖表,中止寫操做
FLUSH PRIVILEGES;    //刷新權限,用於新建用戶,或修改密碼後。

輸入圖片說明

MYSQL重啓後,會更新這個FILE和Position,這時候主從就會斷開,須要重啓創建鏈接。服務器

MYSQL從配置ide

安裝mysql
查看my.cnf,配置server-id=132,要求和主不同
修改完配置文件後,啓動或者重啓mysqld服務
把主上aming庫同步到從上
能夠先建立aming庫,而後把主上的/tmp/mysql.sql拷貝到從上,
scp 192.168.137.133:/tmp/aming.sql  /tmp/
而後導入aming庫,要先建立aming庫
mysql -uroot -plinbs123 aming < /tmp/mysql.sql
mysql -uroot
stop slave;
change master to master_host='', master_user='repl', master_password='', master_log_file='', master_log_pos=xx,
start slave;

還要到主上執行 unlock tables, 查看主從同步是否正常測試

從上執行mysql -uroot
show slave status\G
看是否有
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
還需關注
Seconds_Behind_Master: 0  //爲主從延遲的時間
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
change master to master_host='192.168.137.133', master_user='repl', master_password='linbs123', master_log_file='mysqlmaster.000003',master_log_pos=120;

輸入圖片說明

主服務器上
binlog-do-db=      //僅同步指定的庫,只要保持指定主從數據庫一致便可
binlog-ignore-db= //忽略指定庫
從服務器上
replicate_do_db=    //同上
replicate_ignore_db=    //同上
replicate_do_table=    //僅同步指定表
replicate_ignore_table=    //忽略同步哪些表
replicate_wild_do_table=   //如aming.%, 支持通配符%
replicate_wild_ignore_table=

測試主從線程

主上 mysql -uroot aming  
select count(*) from db;
truncate table db;
到從上 mysql -uroot aming
select count(*) from db;
主上繼續drop table db;
從上查看db表

輸入圖片說明

相關文章
相關標籤/搜索