1.一個服務器程序充當主服務器,多個服務器充當從服務器.mysql
2/主服務器將更新寫入二進制日誌文件,從服務器等待接受主服務器的更新.linux
3.爲了實現主服務器寫數據,從服務器讀數據.sql
4.在備份過程當中,不會干擾主服務器,主服務器能夠持續處理更新數據庫
yum install mysql-server -y vim
vim /etc/my.cnf安全
8 server-id=3 必須爲 1 到 232–1 之間的一個正整數值 9 10 log-bin=mysql-bin 啓動二進制日誌系統 11 binlog-do-db=test 二進制須要同步的數據庫名,要是還有要同步的數據庫,就另起一行 12 binlog-ignore-db=mysql 禁止同步 數據庫
/etc/init.d/mysqld start服務器
建立slave賬戶,並給予權限ide
mysql> grant replication slave on *.* to miao@'172.25.88.%' identified by 'westos'
保證同步前主從數據庫具備相同結構工具
show slave status\G ;spa
查看slave狀態,出現兩個YES,表示從庫的 I/O,Slave_SQL 線程都正確開啓.代表數據庫正在同步!!!!
IO: 防火牆,權限,selinux
SQL:////////////////////////////
mysql> use test; Database changed mysql> create table usertb ( -> username varchar(15) not null, -> password varchar(25) not null -> ); mysql> insert into usertb values ('user1','123'); mysql> insert into usertb values ('user2','456');
yum install mysql-server -y vim /etc/my.cnf
8 server-id=4 //從服務器 ID 號,不要和主 ID 相同,若是設置多個從服務器,每一個從服務器必須有一個惟一的 server-id 值 10 read-only //能夠不寫,可是爲了數據庫安全,仍是寫只讀吧.
/etc/init.d/mysqld start
mysql> change master to master_host='172.25.88.33',master_user='miao' , master_password='westos',master_log_file='mysql-bin.000003',master_log_pos=256;
mysql> show slave status\G;
mysql> show tables;
mysql> select * from usertb;
說明
mysqlbinlog mysql-bin.000001
用mysqlbinlog 工具來顯示記錄的二進制結果,而後導入到文本文件,爲了之後的恢復。
server-id=3