一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 利用MySQL主從配置實現讀寫分離減輕數據庫壓力

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

2020-09-14 17:02小飛俠-2 Mysql

今天小編就為大家分享一篇關于利用MySQL主從配置實現讀寫分離減輕數據庫壓力,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

大型網站為了軟解大量的并發訪問,除了在網站實現分布式負載均衡,遠遠不夠。到了數據業務層、數據訪問層,如果還是傳統的數據結構,或者只是單單靠一臺服務器扛,如此多的數據庫連接操作,數據庫必然會崩潰,數據丟失的話,后果更是 不堪設想。這時候,我們會考慮如何減少數據庫的聯接,一方面采用優秀的代碼框架,進行代碼的優化,采用優秀的數據緩存技術如:memcached,如果資金豐厚的話,必然會想到假設服務器群,來分擔主數據庫的壓力。Ok切入今天文章主題,利用MySQL主從配置,實現讀寫分離,減輕數據庫壓力。這種方式,在如今很多網站里都有使用,也不是什么新鮮事情,今天總結一下,方便大家學習參考一下。

概述:搭設一臺Master服務器(win8.1系統,Ip:192.168.0.104),搭設兩臺Slave服務器(虛擬機——一臺Ubuntu,一臺 Windows Server 2003)

原理:主服務器(Master)負責網站NonQuery操作,從服務器負責Query操作,用戶可以根據網站功能模特性塊固定訪問Slave服務器,或者自己寫個池或隊列,自由為請求分配從服務器連接。主從服務器利用MySQL的二進制日志文件,實現數據同步。二進制日志由主服務器產生,從服務器響應獲取同步數據庫。

具體實現:

1、在主從服務器上都裝上MySQL數據庫,windows系統鄙人安裝的是mysql_5.5.25.msi版本,Ubuntu安裝的是mysql-5.6.22-linux-glibc2.5-i686.tar

windows安裝mysql就不談了,一般地球人都應該會。鄙人稍微說一下Ubuntu的MySQL安裝,我建議不要在線下載安裝,還是離線安裝的好。大家可以參考 http://www.ythuaji.com.cn/article/1076.html 這位不知道大哥還是姐妹,寫的挺好按照這個就能裝上。在安裝的時候可能會出現幾種現象,大家可以參考解決一下:

(1)如果您不是使用root用戶登錄,建議 su - root 切換到Root用戶安裝,那就不用老是 sudo 了。

(2)存放解壓的mysql 文件夾,文件夾名字最好改成mysql

(3)在./support-files/mysql.server start 啟動MySQL的時候,可能會出現一個警告,中文意思是啟動服務運行讀文件時,忽略了my.cnf文件,那是因為my.cnf的文件權限有問題,mysql會認為該文件有危險不會執行。但是mysql還會啟動成功,但如果下面配置從服務器參數修改my.cnf文件的時候,你會發現文件改過了,但是重啟服務時,修改過后的配置沒有執行,而且您 list一下mysql的文件夾下會發現很多.my.cnf.swp等中間文件。這都是因為MySQL啟動時沒有讀取my.cnf的原因。這時只要將my.cnf的文件權限改成my_new.cnf的權限一樣就Ok,命令:chmod 644 my.cnf就Ok

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

(4)Ubuntu中修改文檔內容沒有Vim,最好把Vim 裝上,apt-get install vim,不然估計會抓狂。

這時候我相信MySQL應該安裝上去了。

2、配置Master主服務器

(1)在Master MySQL上創建一個用戶‘repl',并允許其他Slave服務器可以通過遠程訪問Master,通過該用戶讀取二進制日志,實現數據同步。

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

(2)找到MySQL安裝文件夾修改my.Ini文件。mysql中有好幾種日志方式,這不是今天的重點。我們只要啟動二進制日志log-bin就ok。

 在[mysqld]下面增加下面幾行代碼

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

(3)查看日志

?
1
2
3
4
5
6
7
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

重啟MySQL服務

3、配置Slave從服務器(windows)

(1)找到MySQL安裝文件夾修改my.ini文件,在[mysqld]下面增加下面幾行代碼

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

重啟MySQL服務

(2)連接Master

?
1
2
3
4
5
6
change master to master_host='192.168.0.104', //Master 服務器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master服務器產生的日志
master_log_pos=0;

(3)啟動Slave

start slave;

4、Slave從服務器(Ubuntu)

(1)找到MySQL安裝文件夾修改my.cnf文件,vim my.cnf

利用MySQL主從配置實現讀寫分離減輕數據庫壓力

(2) ./support-files/myql.server restart 重啟MySQL服務  ,  ./bin/mysql 進入MySQL命令窗口

(3)連接Master

?
1
2
3
4
5
6
change master to master_host='192.168.0.104', //Master 服務器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master服務器產生的日志
master_log_pos=0;

(4)啟動Slave

start slave;

OK所有配置都完成了,這時候大家可以在Master Mysql 中進行測試了,因為我們監視的時Master mysql  所有操作日志,所以,你的任何改變主服務器數據庫的操作,都會同步到從服務器上。創建個數據庫,表試試吧。。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/qq_26562641/article/details/64122513

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: free chinese麻豆| 小女生RAPPER入口 | 久久一本综合 | 侵犯小男生免费视频网站 | 国产1区2区三区不卡 | 日本在线播放视频 | 大伊人青草狠狠久久 | 亚洲欧美视频在线播放 | 美女被扒开屁股进去网 | 91精品久久一区二区三区 | 欧美一区二区三区久久久 | 狠狠干2016| α级毛片 | 男人边吃奶边做好爽视频免费 | 99草| 动漫精品一区二区三区3d | 国产成人精品视频频 | 成人伊人青草久久综合网破解版 | 99久久精品国内 | 91精品国产一区 | 奇米影视888四色首页 | 我和岳偷长篇小说 | 麻豆找网服 | 亚洲精品国产精品麻豆99 | 亚洲国产精品嫩草影院久久 | 99九九成人免费视频精品 | 经典千人斩一区二区视频 | 日韩欧美一卡二区 | 2018天天拍拍拍免费视频 | 男同gay作爰视频网站 | 午夜DY888国产精品影院 | 色偷偷伊人 | 午夜一级影院 | 亚洲精品91| 亚洲 在线 日韩 欧美 | 98成人 | 久久亚洲精品中文字幕60分钟 | 国产精品aaa | 精品国产区 | 手机免费在线视频 | 日本人护士免费xxxx视频 |