日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Django中实现MySQL主从同步实现读写分离

發布時間:2024/9/20 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django中实现MySQL主从同步实现读写分离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 MySQL主從同步1. 主從同步機制

1.主從同步介紹和優點
在多臺數據服務器中,分為主服務器和從服務器。一臺主服務器對應多臺從服務器。
主服務器只負責寫入數據,從服務器只負責同步主服務器的數據,并讓外部程序讀取數據。
主服務器寫入數據后,即刻將寫入數據的命令發送給從服務器,從而使得主從數據同步。
應用程序可以隨機讀取某一臺從服務器的數據,這樣就可以分攤讀取數據的壓力。
當從服務器不能工作時,整個系統將不受影響;當主服務器不能工作時,可以方便地從從服務器選舉一臺來當主服務器
使用主從同步的優點:
提高讀寫性能
因為主從同步之后,數據寫入和讀取是在不同的服務器上進行的,而且可以通過增加從服務器來提高數據庫的讀取性能。
提高數據安全
因為數據已復制到從服務器,可以在從服務器上備份而不破壞主服務器相應數據。
2.主從同步機制
?

MySQL服務器之間的主從同步是基于二進制日志機制,主服務器使用二進制日志來記錄數據庫的變動情況,從服務器通過讀取和執行該日志文件來保持和主服務器的數據一致。
2. Docker安裝運行MySQL從機

提示:
本項目中我們搭建一主一從的主從同步。
主服務器:ubuntu操作系統中的MySQL。
從服務器:Docker容器中的MySQL。
1.獲取MySQL鏡像
主從同步盡量保證多臺MySQL的版本相同或相近。
$ sudo docker image pull mysql:5.7.22或$ sudo docker load -i 文件路徑/mysql_docker_5722.tar

2.指定MySQL從機配置文件
在使用Docker安裝運行MySQL從機之前,需要準備好從機的配置文件。
為了快速準備從機的配置文件,我們直接把主機的配置文件拷貝到從機中。
$?cd?~$ mkdir mysql_slave$?cd?mysql_slave$ mkdir data$ cp -r /etc/mysql/mysql.conf.d ./

3.修改MySQL從機配置文件
編輯 ~/mysql_slave/mysql.conf.d/mysqld.cnf文件。
由于主從機都在同一個電腦中,所以我們選擇使用不同的端口號區分主從機,從機端口號是8306。
# 從機端口號port =?8306# 關閉日志general_log?=?0# 從機唯一編號server-id =?2

4.Docker安裝運行MySQL從機
MYSQL_ROOT_PASSWORD:創建 root 用戶的密碼為 mysql。
$ sudo docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=mysql -d --network=host -v /home/python/mysql_slave/data:/var/lib/mysql -v /home/python/mysql_slave/mysql.conf.d:/etc/mysql/mysql.conf.d mysql:5.7.22

5.測試從機是否創建成功
$ mysql -uroot -pmysql -h?127.0.0.1?--port=83063. 主從同步實現

1.配置主機(ubuntu中MySQL)
配置文件如有修改,需要重啟主機。
sudo service mysql restart
# 開啟日志general_log_file = /var/log/mysql/mysql.loggeneral_log?=?1# 主機唯一編號server-id =?1# 二進制日志文件log_bin = /var/log/mysql/mysql-bin.log

2.從機備份主機原有數據
在做主從同步時,如果從機需要主機上原有數據,就要先復制一份到從機。
# 1. 收集主機原有數據$ mysqldump -uroot -pmysql --all-databases --lock-all-tables > ~/master_db.sql# 2. 從機復制主機原有數據$ mysql -uroot -pmysql -h127.0.0.1?--port=8306?< ~/master_db.sql

3.主從同步實現
1.創建用于從服務器同步數據的帳號
# 登錄到主機$ mysql –uroot –pmysql# 創建從機賬號$ GRANT REPLICATION SLAVE ON *.* TO?'slave'@'%'identified by?'slave';# 刷新權限$ FLUSH PRIVILEGES;

2.展示ubuntu中MySQL主機的二進制日志信息
$ SHOW MASTER STATUS;

3.Docker中MySQL從機連接ubuntu中MySQL主機
# 登錄到從機$ mysql -uroot -pmysql -h?127.0.0.1?--port=8306# 從機連接到主機$ change master to master_host='127.0.0.1', master_user='slave', master_password='slave',master_log_file='mysql-bin.000250', master_log_pos=990250;# 開啟從機服務$ start slave;# 展示從機服務狀態$ show slave status \G

測試:
在主機中新建一個數據庫后,直接在從機查看是否存在。

2 Django實現MySQL讀寫分離1. 增加slave數據庫的配置DATABASES = {????'default': {?# 寫(主機)????????'ENGINE':?'django.db.backends.mysql',?# 數據庫引擎????????'HOST':?'192.168.103.158',?# 數據庫主機????????'PORT':?3306,?# 數據庫端口????????'USER':?'itcast',?# 數據庫用戶名????????'PASSWORD':?'123456',?# 數據庫用戶密碼????????'NAME':?'meiduo_mall'?# 數據庫名字????},????'slave': {?# 讀(從機)????????'ENGINE':?'django.db.backends.mysql',????????'HOST':?'192.168.103.158',????????'PORT':?8306,????????'USER':?'root',????????'PASSWORD':?'mysql',????????'NAME':?'meiduo_mall'????}}2. 創建和配置數據庫讀寫路由
1.創建數據庫讀寫路由
在meiduo_mall.utils.db_router.py中實現讀寫路由
class MasterSlaveDBRouter(object):????"""數據庫讀寫路由"""????def db_for_read(self, model, **hints):????????"""讀"""????????return?"slave"????def db_for_write(self, model, **hints):????????"""寫"""????????return?"default"????def allow_relation(self, obj1, obj2, **hints):????????"""是否運行關聯操作"""????????return?True
2.配置數據庫讀寫路由
DATABASE_ROUTERS = ['meiduo_mall.utils.db_router.MasterSlaveDBRouter']
————————————————
版權聲明:本文為CSDN博主「xiaoyaGrace」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiaoyaGrace/article/details/103627912

總結

以上是生活随笔為你收集整理的Django中实现MySQL主从同步实现读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91在线播放国产 | 国产亚洲精品久 | 欧美亚洲精品天堂 | 日韩欧美国产一区二区在线观看 | 香蕉视频在线观看免费 | 亚洲一区日韩精品 | 久久精品国产成人av | 成人区人妻精品一熟女 | 亚洲视频在线免费 | 国产精品日韩欧美大师 | 91久久久久久久久久久久 | av手机网| 91丨国产丨捆绑调教 | 极品美妇后花庭翘臀娇吟小说 | 亚洲m码 欧洲s码sss222 | 欧美偷拍综合 | 日韩欧美成| 男女做爰猛烈吃奶啪啪喷水网站 | 色综合久久久久久 | 九色91在线| 久久久久网 | www中文在线| 欧美性久久久久 | 靠逼动漫 | 99精品久久久久久久婷婷 | 久久久观看 | 亚洲精品视频播放 | 日批在线观看视频 | 亚洲人妻电影一区 | 校园春色综合网 | 亚洲国产精品久久久久爰性色 | 快播视频在线观看 | 原创露脸88av | 综合国产视频 | 在线成人免费 | 91丨国产丨白丝 | 亚洲精品久久 | 日韩一区二区毛片 | 欧美爱爱一区二区 | 99热这里只有精品2 91免费版黄 | 黄色激情视频在线观看 | jizz毛片| 69日本xxxxxxxx96 | 老熟妇仑乱视频一区二区 | 丁香婷婷一区二区三区 | 婷婷综合色| 麻豆亚洲av成人无码久久精品 | 亚洲熟妇av日韩熟妇在线 | 性欧美巨大乳 | 日本欧美精品 | 久久久国产一区二区三区 | 国模无码视频一区二区三区 | 99青草| 国产美女久久 | 日韩欧美性视频 | 人妻少妇精品无码专区 | 麻豆69| 国产精品久久久久精 | 欧美精品在线观看一区二区 | 少妇被黑人到高潮喷出白浆 | 久久涩视频 | wwwwww色| 国产伦理精品 | av小说天堂网 | 午夜色婷婷 | 91久久国产综合久久91 | 午夜性片 | 日本成人在线网站 | 骚虎免费视频 | 好吊视频一区二区三区 | 日本黄区免费视频观看 | 2017天天干| 四川少妇xxx奶大xxx | 国产顶级毛片 | 桃色视频在线 | 99综合视频 | 亚洲av无码一区二区乱子伦 | 性色视频在线 | 伊人称影院 | 日本中文字幕不卡 | 亚洲欧美日韩免费 | 亚洲一区二区三区av无码 | 久久久免费av | 久久久69 | 亚欧中文字幕 | 狠狠躁日日躁夜夜躁 | 日韩高清一区二区 | 国产污视频在线看 | 精品视频在线观看一区 | 五月激情网站 | 夜夜免费视频 | 99精品一区二区三区无码吞精 | 能免费看av的网站 | 男生和女生操操 | 日韩一区二区三区精品视频 | 巨胸爆乳美女露双奶头挤奶 | 亚洲在线免费观看视频 | 毛片无遮挡高清免费观看 | 香港一级纯黄大片 |