亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣用兩臺服務器實現數據庫的主從同步與分離

發布時間:2021-12-02 10:11:23 來源:億速云 閱讀:182 作者:柒染 欄目:服務器

這篇文章給大家介紹怎樣用兩臺服務器實現數據庫的主從同步與分離,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

使用背景:在網聯網不斷發展的時代,人們對數據的使用也不斷的增加,對于用戶的請求不斷的增加,數據庫的讀寫操作就特別大,就會導致服務器受不了那么多用戶的請求和對數據的操作,導致服務器負荷,相應的用戶的等待時間就會特別長,給用戶的體驗特別差,而主從同步就很好的解決的這種并發的問題。

主從同步:簡單來說就是使用兩臺服務器,分別處理用戶的讀和寫的操作,從而實現了讀寫分離。由于從服務器同步的主服務器上的數據,所以主從同步極大的保證了數據的安全。

基本原理:主從同步,分為兩臺服務器

如圖:Master為主服務器,Slave為從服務器

1. 主服務器(Master)對數據的操作,對事務更新完成之前,mysql將以串行的形式將日志以2進制的形式寫入到Binary log日志中(即二進制日志事件),在事務寫完以后,Master通知存儲引擎,提交事務.

2.提交事務后,Slave服務器,將Master的Binary log日志拷貝到自己的Relay log中(即Slave開啟I/O thread 讀取Master中的Binary log,然后寫入到Slave中的Relay log 中)

3.SOL thread線程將Relay log中的日志讀取,重做數據,達到將Master中的數據改變同步到Slave中.

所以:兩臺服務器,Master提供給用戶寫(增,刪,該)的操作,Slave供公戶讀(查詢)的操作,從而大大的減輕了服務器的負荷,解決了高并發的問題。

怎樣用兩臺服務器實現數據庫的主從同步與分離

那么接下來讓我們看看如何使用兩臺服務器搭建mysql的主從同步吧(ps:今天只介紹如何在服務器上搭建主從同步的實現)。

怎樣用兩臺服務器實現數據庫的主從同步與分離

在開始之前,需要兩臺服務器,安裝好linux系統,并且安裝好mysql 5.1以上的版本.(***安裝有vim編輯器)。

那么這些環境準備好了,就開始搭建吧!

1.使用SSH連接你的兩臺服務器(這里我用的兩臺為Master和Slave的服務器)

2.修改Master和Slave上的mysql的配置文件

 a.修改主服務器(Master)的配置文件

怎樣用兩臺服務器實現數據庫的主從同步與分離

輸入命令:vim /etc/my.cnf  (mysql的默認安裝位置)

會出現以下提示:

選擇e,進行編輯.

按i鍵

在mysqld下添加以下配置:

server-id=1    log-bin=master-bin    log-bin-index=master-bin.index

怎樣用兩臺服務器實現數據庫的主從同步與分離

如圖(看圖上具體細節),wq保存并退出,這里主服務器(Master)的配置就好了。

然后重載mysql配置

輸入:service mysqld restart

怎樣用兩臺服務器實現數據庫的主從同步與分離

接下來我們看看是否成功配置

在Master中登錄mysql

命令:mysql -uroot -p

輸入密碼后進入mysql界面,輸入show master status,如圖:

怎樣用兩臺服務器實現數據庫的主從同步與分離

b.修改從服務器的配置(Slave)

連接Slave服務器,vim打開mysql的配置文件

原理一樣,在mysqld添加下配置

server-id=2  relay-log=slave-relay-bin  relay-log-index=slave-relay-bin.index

如圖:

怎樣用兩臺服務器實現數據庫的主從同步與分離

保存退出

然后重啟mysql,這里介紹另一種重啟mysql的方法

輸入命令:/etc/init.d/mysql stop 停止

/etc/init.d/mysql start  啟動

登錄mysql驗證配置是否有誤

怎樣用兩臺服務器實現數據庫的主從同步與分離

說明,配置沒啥問題。

3.開始主從連接  

a.在主服務器中添加從服務器連接所用到的用戶

在master中創建用戶mengxin(ps:這是筆者用的名字)

create user mengxin

再授予mengxin 主從訪問權限

grant replication slave on *.* to 'mengxin'@'從服務器的ip' identified by '連接時需要的用戶密碼(自己設置)';

然后輸入:flush privileges

刷新更新權限信息

b.來到從服務器(Slave)進行連接

 登錄到從服務器的mysql

 輸入命令:

change master to master_host='主機ip',master_port=3306,master_user='mengxin',master_password='mengxin',master_log_file='master-bin.000001',master_log_pos=0

進行連接,

命令說明:master_host為Master服務器的ip,master_port為Master服務器的端口(默認為3306),master_user為剛剛在Master服務器上設置的user名,master_password為剛剛設置的密碼,master_log_file為剛剛上面說到的要用的那個參數(ps:可以在master服務器上輸入命令:show master status進行查看)

怎樣用兩臺服務器實現數據庫的主從同步與分離

執行該命令后,表示連接已完成,

開啟主從同步:start slave

然后輸入:show slave status  \G;

查看運行狀態:(如圖,沒有報錯,表示主從同步成功配置)

怎樣用兩臺服務器實現數據庫的主從同步與分離

***讓我們來驗證一下,主從同步的效果:

在Master中創建mengxin_shop數據庫

怎樣用兩臺服務器實現數據庫的主從同步與分離

在Slave服務器中,查看數據庫,可以看到在master中添加的數據庫更新到Slave中了

怎樣用兩臺服務器實現數據庫的主從同步與分離

呼,終于寫完了,遇到了各種各樣的錯誤,還是一點點的解決了

這里列舉出配置過程中遇到的集中常見的錯誤吧

1.如果配置中,***一步查看Slave的狀態出現如圖所示錯誤

怎樣用兩臺服務器實現數據庫的主從同步與分離

這表明,mysql.user中沒有plugin這個字段,這是因為你mysql的版本為5.1,沒有這個字段,授權會出現問題

解決辦法:將兩臺服務器的mysql版本保持到5.5以上,盡量相同版本

2.有時會出現Slave連接Master連接不上的錯誤,請檢查服務器上的mysql數據庫端口3306是否關閉防火墻。

3.有時會出現slave和master id相同的錯誤,請確保slave配置中的server-id是否值只存在一個,并且為2

關于怎樣用兩臺服務器實現數據庫的主從同步與分離就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 景洪市| 沙河市| 广饶县| 龙川县| 酒泉市| 德昌县| 许昌市| 朝阳市| 毕节市| 南阳市| 辽阳县| 米易县| 嵊泗县| 江油市| 巩留县| 海宁市| 达孜县| 阳原县| 邵武市| 安宁市| 兰坪| 巴彦淖尔市| 漳平市| 拉萨市| 宜君县| 商都县| 巢湖市| 石城县| 偏关县| 元氏县| 遂宁市| 绍兴县| 河北区| 淳化县| 龙门县| 高邮市| 油尖旺区| 垫江县| 沭阳县| 荣昌县|