上午学习了数据分离
数据分离
将数据写入master数据库中,从slave数据库读取数据
1,在settings中数据库中配置
database={
‘slave’:{
‘engine’:‘django.db.backends.sqlite3’
‘name’:‘slavedb’
}
}
2,模板同步 python manage.py migrate
python manage.py migrate --database slave
3,重启数据库路由
django读取 默认使用default执行数据库
重启数据库路由配置
class Router(object):
def db_for_read(self,model,**hints):
return ‘slave’
def db_for_write(self,model,**hints):
return ‘default’
4,数据库路由修改配置
database_router=[‘Qshop.mydbrouter.router’]
5,使用数据分离
数据能够写入master数据库中,从slave读取数据,复制到slave数据库中需要配置数据库中的复制集功能
6,使用mysql数据库配置
分别创建两个mysql数据库,例如:default和slave库
1,运行后出现1665错误
解决方案:在default和slave配置之间的配置文件添加 binlog_format=ROW
重启数据库
迁移数据库
create user ‘root’@’%’ identfied by ‘123456’
关闭防火墙
flush privileges
上午回忆
最新推荐文章于 2025-05-24 12:58:08 发布
本文详细介绍了如何在Django项目中实现数据分离,通过配置master和slave数据库,确保数据写入master,从slave读取,有效提升读取性能。文章涵盖了设置数据库、重启路由、配置复制集及解决常见错误等关键步骤。
2876

被折叠的 条评论
为什么被折叠?



