django给mysql配主从_django中的mysql主从读写分离:一、配置mysql主从分离
一、配置mysql主从同步的步骤:
(1) 在主服务器上,必须开启二进制日志机制和配置一个独立的ID
(2) 在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号
(3) 在开始复制进程前,在主服务器上记录二进制文件的位置信息
(4) 如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)
(5) 配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置
示例:以ubuntu的MySQL(5.7.22)作为主机 ,使用Dokcer安装的MySQL作为从机
二、安装、配置主从服务Mysql服务器
1、安装MySQL主机
1. sudo apt-get install mysql-server2. apt-get isntall mysql-client3. sudo apt-get install libmysqlclient-dev
2、安装MySQL从机
在docker里面安装mysql的镜像, 此版本的镜像,尽量和MySQL主机版本一致
(1)可以从docker官方拉取镜像 :
docker image pull mysql:5.7.22
(2)本地已有docker的镜像可以直接安装:
docker load -i mysql_docker_5722.tar
3、指定从机配置文件
运行mysql docker镜像,需要在宿主机中建立文件目录于mysql容器保存数据和读取配置文件。
在家目录下创建mysql_slave文件夹, 放入mysql的配置文件,
这里最后一行命令是直接复制主机mysql的配置文件, 再去修改就可以了
cd ~
mkdirmysql_slave
cd mysql_slavemkdirdatacp -r /etc/mysql/mysql.conf.d ./ #将位于/etc的mysql主机的配置文件拷到家目录下,修改后作为从机的配置文件
4、配置从机
将docker运行的mysql作为slave运行, 开启前需配置文件
修改port , server-id和主机做区分, 主机分别是3306, 1 , 另外不开启日志
sudo vim ~/mysql_slave/mysql.conf.d/mysqld.cnf
port= 8306 # 区别开主服务器的3306,定义为8306general_log= 0server-id = 2 #主服务器id设为1,从服务器只要不是1都行,这边取2
5、创建docker容器
创建docker容器, MYSQL_ROOT_PASSWORD 是创建mysql root用户的密码,指定ubuntu和docker里面映射的路径(-v后面就是指定的映射路径),详细命令如下:
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
测试, 在ubuntu中使用mysql命令尝试连接docker容器中的mysql
mysql -uroot -pmysql -h 127.0.0.1 --port=8306
接下来备份初始主服务器的内容到从服务器(冷备份),后续的主从同步(热备份)则通过二进制日志来传输:
三、备份数据及主从同步配置
1、冷备份
1.登录到MySQL主机,收集数据
mysqldump -uroot -pmysql --all-databases --lock-all-tables > ~/master_db.sql
2.登录到MySQL从机,同步数据
mysql -uroot -pmysql -h127.0.0.1 --port=8306 < ~/master_db.sql
2、配置主机Mysql
编辑设置mysqld的配置文件, 设置log_bin 和server_id
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
server-id = 1log_bin= /var/log/mysql/mysql-bin.log
重启主机mysql服务
sudo service mysql restart
3、热备份:主从同步
(1)、登入主服务器Ubuntu中的mysql,创建用于从服务器同步数据使用的帐号, 这里是slave
mysql –uroot –pmysql
GRANT REPLICATION SLAVE ON*.* TO 'slave'@'%' identified by 'slave';#*.*表示所有表,第一个slave表示账号,第二个slave表示密码
FLUSH PRIVILEGES;
(2)、获取主服务器的二进制日志信息, 查看File , Position
File为使用的日志文件名字,Position为使用的文件位置,这两个参数须记下,配置从服务器时会用到。
SHOW MASTER STATUS;
(3)、进入docker中的mysql配置从服务器的slave:
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.000006', master_log_pos=590;
说明:
master_host:主服务器Ubuntu的ip地址
master_log_file: 前面查询到的主服务器日志文件名======File
master_log_pos: 前面查询到的主服务器日志文件位置======Position
(4)、这时候已经配置完成, 尝试启动slave服务器, 并查看同步状态
start slave;
show slave status \G
如果 显示Slave_IO_Running :Yes, Slave_SQL_Running: Yes 表示同步已经正常运行
转自:https://blog.csdn.net/skyjianwei/article/details/81058205
django给mysql配主从_django中的mysql主从读写分离:一、配置mysql主从分离相关推荐
- django mysql sql语句_Django中使用mysql数据库并使用原生sql语句操作
Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件 mysql数据库,版本5. ...
- mysql for centos下载_python数据分析之路——centos下载并配置mysql与navicat的使用
python数据分析之路--centos下载并配置mysql与navicat的使用 在之前的文章中已经说明了如何购买并配置一台自己的服务器,那么在安装完anaconda之后,为了之后方便用Django ...
- springboot原生mysql写法_【Rainbond最佳实践】Spring Boot框架配置MySQL
Rainbond开源软件介绍: Rainbond是国内首个开源的生产级无服务器PaaS. 深度整合基于Kubernetes的容器管理.多类型CI/CD应用构建与交付.多数据中心的资源管理等技术,提供云 ...
- python django mysql结果获取_Django中从mysql数据库中获取数据传到echarts方式
尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...
- django和mysql如何建模_Django中的多个数据库和多个模型
小编典典 我完全同意@alecxe使用数据库路由器.我目前正在使用一个管理界面来管理多个数据库.请注意,所有数据库的身份验证都存储在默认数据库中,因此当你执行syncdb(不带参数)时. 通用数据库路 ...
- python获取mysql数据为excel中的sheet_python 从excel、csv、mysql、txt获取数据源
使用python进行数据分析工作的第一步是获取数据源,数据源来可能来自于excel.txt.csv文件.mysql数据库. 分别看看这些数据源怎么导入到python中. 1. Excel 数据源导入p ...
- 用软件创建一个mysql的数据库_JSP中的数据库操作(1):MySQL数据库创建及管理...
本文目录顺序: 安装MySQL MySQL管理软件SQLYog Enterprise --30天试用期到期解决方法 使用SQLYog Enterprise建立数据库 MySQL的各项参数 1. 安装M ...
- mysql实体监听器_11gR2中的SCAN监听器和本地监听器配置
11.2 Scan and Node TNS Listener Setup Examples [ID 1070607.1] 修改时间 29-JAN-2012 类型 HOWTO 状态 PUBLISHED ...
- mysql数据库搭建动态网站_动态网站搭建之如何配置Mysql数据库连接详细教程讲解...
众所周知,网站分静态网站和动态网站,那么什么是静态和动态呢?又怎么区分呢? 动态网站体现在网页一般是以asp,jsp,php,aspx等技术编写的网页,但也可以使用URL静态化技术,使网页后缀显示为H ...
最新文章
- A Crowdsourcing Method for Correcting Sequencing Errors for the Third-generation Sequencing Data 一种用
- Java获取文件路径
- 学完Web前端后发展方向有哪些呢?
- centos虚拟机ping不通 报错 name or service not known
- RMS 相关下载链接
- 2015蓝桥杯省赛---java---C---9(打印大X)
- USB转WIFI无线网卡驱动程序(RT5370驱动程序)的移植记录之一
- 大学英语四六各项分值
- mysql核心参数_MySQL技术体系之核心参数
- Python Selenium之异常处理
- Fission:基于 Kubernetes 的 Serverless 函数框架
- Java并发编程技术
- vb代码转为c++代码_VB源码转换工具(VBto Converter)
- 视频教程-汇编语言程序设计IV-其他
- raw文件格式 Android,手机摄影知识讲堂:关于RAW格式的那些事
- 最大公约数和最小公倍数
- 一天完成写出一篇SCI论文
- 【文献阅读】ERNIE: Enhanced Representation through Knowledge Integration
- 脸上长了黄褐斑怎么办
- Notepad++设置记录
热门文章
- 如何截取_【实用技巧】如何截取网页长图
- 计算机与自动化专业有哪些学校,全国自动化专业大学排名
- 5位院士谈科研瓶颈:必须“逼着自己在精神上愿意吃苦”
- 国外数学奇才称:“平行线可相交”,到死未被认可,12年后被证实
- 谷歌AI算法 助力可控核聚变研究
- nginx缓存HtmL文件,Nginx在缓存的html文件上返回404
- d630 无线驱动 linux,fedora 8下DELL D630无线网卡驱动的安装
- 用java实现楼层导航_JS实现网站楼层导航效果代码实例
- 【Numpy】array操作总结
- I begin to keep a daily