上午学习了数据分离
数据分离
将数据写入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