laravel 操作資料庫常用函式的返回值方法
一、概念
1、熱備份和備份的區別
熱備份指的是:High Available(HA)即高可用,而備份指的是Backup,資料備份的一種。這是兩種不同的概念,應對的產品也是兩種功能上完全不同的產品。熱備份主要保障業務的連續性,實現的方法是故障點的轉移。而備份,主要目的是為了防止資料丟失,而做的一份拷貝,所以備份強調的是資料恢復而不是應用的故障轉移。
2、什麼是雙機熱備?
雙機熱備從廣義上講,就是對於重要的服務,使用兩臺伺服器,互相備份,共同執行同一服務。當一臺伺服器出現故障時,可以由另一臺伺服器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。
從狹義上講,雙機熱備就是使用互為備份的兩臺伺服器共同執行同一服務,其中一臺主機為工作機(Primary Server),另一臺主機為備份主機(Standby Server)。在系統正常情況下,工作機為應用系統提供服務,備份機監視工作機的執行情況(一般是通過心跳診斷,工作機同時也在檢測備份機是否正常),當工作機出現異常,不能支援應用系統運營時,備份機主動接管工作機的工作,繼續支援關鍵應用服務,保證系統不間斷的執行。雙機熱備針對的是IT核心伺服器、儲存、網路路由交換的故障的高可用性解決方案。
二、環境描述
1、master
系統:windows 7
資料庫:mysql5.5
ip:192.168.0.123
2、slave
系統:windows 7
資料庫:mysql5.5
ip:192.168.0.105
(注:主伺服器的版本不能高於從伺服器版本 ,兩臺伺服器須處於同一區域網)
三、主從熱備實現
1、賬戶準備
①在master伺服器上為從伺服器建立一個連線帳戶,該帳戶必須授予REPLICATION SLAVE許可權。進入mysql操作介面,輸入以下SQL:
grant replication slave on *.* to 'replicate'@'192.168.0.105' identified by '123456'; flush privileges;
操作如圖:
②驗證連線賬戶
在從伺服器(slave)上用replicat帳戶對主伺服器(master)資料庫進行訪問,看是否可以連線成功。
在從伺服器開啟命令提示符,輸入以下命令:
mysql -h192.168.0.123 -ureplicate -p123456
如果出現下面的結果,則表示能登入成功,說明可以對這兩臺伺服器進行雙機熱備進行操作。
2、master配置
①修改mysql配置檔案。找到my.ini配置檔案開啟後,在[mysqld]下修改即可:
[mysqld]
server-id = 123 #主ID,與從ID不能相同
log-bin=mysql-bin#設定生成log檔名
binlog-do-db = test_db #設定同步資料庫名
replicate-do-db=test_db # 從伺服器同步資料庫名
binlog-ignore-db = mysql#避免同步mysql使用者配置
②重啟mysql服務
開啟命令提示符,輸入以下兩條命令完成重啟:
net stop mysql net start mysql
③檢視master伺服器狀態
show master status;
④鎖表
目的是為了產生環境中不讓進新的資料,好讓從伺服器定位同步位置,初次同步完成後,記得解鎖
flush tables with read lock;
步驟③④操作如圖:
3、slave配置
①修改my.ini配置檔案
log-bin=mysql-bin #設定生成log檔名
server-id=105# 從ID,與主ID不能相同
binlog-do-db=test_db #設定同步資料庫名
binlog-ignore-db=mysql #避免同步mysql使用者配置
replicate-do-db=test_db# 從伺服器同步資料庫名
replicate-ignore-db = mysql,information_schema,performance_schema
②重啟mysql服務
③用change mster語句指定同步位置
進入mysql操作介面後,輸入如下指令:
stop slave; reset slave; change master to master_host='192.168.0.123',master_user='replicate',master_password='123456',master_log_file='mysql-bin.000124',master_log_pos=107; start slave;
注:這裡的master_log_file、master_log_pos必須和前面show master status查詢結果保持一致
操作如圖:
4、解鎖master表
unlock tables;
至此,主從熱備實現完成,可進行測試操作。
總結
以上所述是小編給大家介紹的mysql雙機熱備實現方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對碼農教程網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!