什麼是主從複製? 主從複製,是用來建立一個和主資料庫完全一樣的資料庫環境,稱為從資料庫;主資料庫一般是準實時的業務資料庫。 主從複製的作用(好處)! 1、做數據的熱備,作為後備資料庫,主資料庫伺服器故障後,可切換到從資料庫繼續工作,避免數據丟失。 2、架構的擴展。業務量越來越大,I/O訪問頻率過高, ...
什麼是主從複製?
主從複製,是用來建立一個和主資料庫完全一樣的資料庫環境,稱為從資料庫;主資料庫一般是準實時的業務資料庫。
主從複製的作用(好處)!
1、做數據的熱備,作為後備資料庫,主資料庫伺服器故障後,可切換到從資料庫繼續工作,避免數據丟失。
2、架構的擴展。業務量越來越大,I/O訪問頻率過高,單機無法滿足,此時做多庫的存儲,降低磁碟I/O訪問的頻率,提高單個機器的I/O性能。
3、讀寫分離,使資料庫能支撐更大的併發。在報表中尤其重要。由於部分報表sql語句非常的慢,導致鎖表,影響前臺服務。如果前臺使用master,報表使用slave,那麼報表sql將不會造成前臺鎖,保證了前臺速度。
Mysql簡介:
資料庫的種類很多,Oracle、Sql Server、mySQL、Access等他們個自有自己的特點和應用範圍,因為一直做sqlserver之前用的比較多的是SqlServer.由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL是一個多用戶、多線程的關係型資料庫管理系統。 工作模式是基於客戶機/伺服器結構。目前它可以支持幾乎所有的操作系統,同時也可以和php完美結合。
簡單的來說 ,MySql是一個開放的、快速的、多線程的、多用戶的SQL資料庫伺服器。
下麵介紹怎麼使用Mysql實現主從複製.
1.首先用Vmware創建兩個centos7的伺服器系統(多個也可以,這裡只創建兩個,並關閉防火牆).兩個伺服器的IP分別是 主:192.168.2.128,從:192.168.2.130.
2.在兩個伺服器中分別安裝mysql資料庫,並開放給本機(windows)登錄(centos7安裝mysql資料庫本文並不過多贅述).
3.本機用workbench登錄主伺服器資料庫與從伺服器資料庫,併在其中創建兩個相同結構的資料庫與數據表.
4.在主伺服器中設置mysql配置:
1):使用命令 vi /etc/my.cnf添加配置,添加完成後保存.
5.在主伺服器上登錄mysql:使用命令 mysql -u root -p.
6.創建一個賬號(用來讓從伺服器登錄連接主伺服器並複製主伺服器的數據日誌以達到主從複製的目的)
mysql> create user 'datasync'@'192.168.2.%' identified by 'DataSync.123456';
mysql> grant replication slave on *.* to 'datasync'@'192.168.2.%';
7.重啟mysql服務:使用命令 systemctl restart mysqld
8.登錄mysql資料庫查看master狀態 先使用命令mysql -u root -p登錄,然後使用命令 show master status;查看狀態(記住下圖中的狀態配置,在從伺服器設置中將會用到);
至此,主伺服器的配置工作已全部完成,接下來是從伺服器配置過程.
9.登錄從伺服器(192.168.2.130),登錄mysql,mysql -u root -p.並修改配置文件 vi /etc/my.cnf
10.重啟mysql服務 systemctl restart mysqld
11.在mysql中配置用戶同步 change master to master_host='192.168.2.128',master_port=3306,master_user='datasync',master_password='DataSync.123456',master_log_file='mysql-bin.000004',master_log_pos=447;
12.啟動slave: 使用命令 start slave;
13.查看slave狀態:show slave status\G(如果Slave_IO_Running和Slave_SQL_Running的結果都為Yes的話,表明從伺服器配置成功);
14.配置完成,這時候我們往主伺服器插入幾條數據:
15.打開從伺服器資料庫中的相關表,查看表中有無更新數據(可以看到,我們並沒有往從伺服器中手動插入數據,但是從伺服器中有了三條數據,跟我們在往主伺服器中插入的數據一模一樣,表明主從複製已經成功):
至此,mysql主從複製配置成功,測試成功.