当前位置: 首页 > news >正文

潍坊网络建站模板新郑网络推广公司

潍坊网络建站模板,新郑网络推广公司,网站的链接优化,网站数据丢失怎么办1.为什么要做主从复制#xff08;主从复制的作用#xff09; 做数据的热备#xff0c;作为后备数据库#xff0c;主数据库服务器故障后#xff0c;可切换到从数据库继续工作#xff0c;避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高#xff0c;单机无法满…1.为什么要做主从复制主从复制的作用 做数据的热备作为后备数据库主数据库服务器故障后可切换到从数据库继续工作避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高单机无法满足此时做多库的存储降低磁盘I/O访问的评率提高单个机器的I/O性能。 读写分离使数据库能支持更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢导致锁表影响前台服务。如果前台使用master报表使用slave那么报表sql将不会造成前台锁保证了前台速度。 1--在从服务器可以执行查询工作(即我们常说的读功能)降低主服务器压力;主库写从库读降压  2--在从主服务器进行备份避免备份期间影响主服务器服务;确保数据安全  3--当主服务器出现问题时可以切换到从服务器。提升性能 2.什么是主从复制? 主从复制是用来建立一个和主数据库完全一样的数据库环境称为从数据库。在赋值过程中一个服务器充当主服务器而另外一台服务器充当从服务器。 当一台从服务器连接到主服务器时从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新然后锁住并等到主服务器通知新的更新。 3.主从复制的原理 步骤一主库db的更新事件(update、insert、delete)被写到binlog(二进制日志) 步骤二从库发起连接连接到主库 步骤三此时主库创建一个binlog dump thread线程把binlog的内容发送到从库 步骤四从库启动之后创建一个I/O线程读取主库传过来的binlog内容并写入到relay log(中继日志). 步骤五还会创建一个SQL线程从relay log里面读取内容从Exec_Master_Log_Pos位置开始执行读取到的更新事件将更新内容写入到slave的db.  4 mysql主从搭建 搭建步骤 准备两台机器 mysql的docker镜像模拟两台机器 -主库8.130.125.9 33307    121.196.246.157 33307   -从库8.130.125.9 33306      121.196.246.157 33306 第一步拉取mysql5.7的镜像 docker pull mysql:5.7 第二步创建文件夹,文件目录映射 mkdir /home/mysql mkdir /home/mysql/conf.d mkdir /home/mysql/data/ #主库存放数据的 touch /home/mysql/my.cnf #主库配置文件mkdir /home/mysql1 mkdir /home/mysql1/conf.d mkdir /home/mysql1/data/ #主库存放数据的 touch /home/mysql1/my.cnf #主库配置文件 第三步重要编写mysql配置文件(主从) #### 主的配置#### [mysqld] usermysql character-set-serverutf8 default_authentication_pluginmysql_native_password secure_file_priv/var/lib/mysql expire_logs_days7 sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections1000server-id100 #server-id自己写不能重复 id号唯一的 log-binmysql-bin #开启binlog日志 将sql语句写进去然后给从库[client] default-character-setutf8[mysql] default-character-setutf8 从库配置 [mysqld] usermysql #mysqld用mysql用户跑 character-set-serverutf8 #编码是 utf8 default_authentication_pluginmysql_native_password #密码加密方式 secure_file_priv/var/lib/mysql #文件存放位置 expire_logs_days7 #日志存放时间 sql严格模式 sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections1000 #最多的连接数server-id101 #server-id自己写不能重复 id号唯一的 log-binmysql-slave-bin #开启binlog日志 和主库优点不一样 relay_logedu-mysql-relay-bin #开启中继日志[client] default-character-setutf8 #client指定utf8[mysql] default-character-setutf8 #mysql指定utf8 第四步 :启动mysql容器并做端口和目录映射 启动主库  docker run -di -v /home/mysql/data/:/var/lib/mysql-v /home/mysql/conf.d:/etc/mysql/conf.d-v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 33307:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD123456 mysql:5.7 启动从库 docker run -di -v /home/mysql1/data/:/var/lib/mysql-v /home/mysql1/conf.d:/etc/mysql/conf.d -v /home/mysql1/my.cnf:/etc/mysql/my.cnf -p 33306:3306--name mysql-slave -e MYSQL_ROOT_PASSWORD123456 mysql:5.7第五步 用cmd连接主库 mysql -uroot -P33307 -h 121.196.246.157 -p #ip地址 #在主库创建用户并授权 ##创建test用户 create user test% identified by 123; ##授权用户 grant all privileges on *.* to test% ; #将所有的权限赋予给test用户 ###刷新权限 flush privileges; #查看主服务器状态(显示如下图) show master status; 第五步连接从库 mysql -uroot -P33306 -h 121.196.246.157 -p#配置详解change master to master_hostMySQL主服务器IP地址, master_user之前在MySQL主服务器上面创建的用户名 master_password之前创建的密码, master_log_fileMySQL主服务器状态中的二进制文件名, master_log_posMySQL主服务器状态中的position值;change master to master_host121.196.246.157, master_port33307,master_usertest, master_password123,master_log_filemysql-bin.000003,master_log_pos0;#启用从库start slave;#查看从库状态如下图show slave status\G; Slave_IO_Running: Yes   Slave_SQL_Running: Yes 这两个参数是yes就意味这主从搭建成功 第六步在主库创建库创建表插入数据看从库 5.django实现读写分离 # 第一步配置文件配置多数据库 DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db.sqlite3,},db1: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db1.sqlite3,} }# 第二步手动读写分离 Book.objects.using(db1).create(name西游记)# 第三步自动读写分离 写一个py文件db_router.py写一个类 class DBRouter(object):def db_for_read(self, model, **hints):# 多个从库 [db1,db2,db3]return db1def db_for_write(self, model, **hints):return default# 第三步配置文件配置 DATABASE_ROUTERS [mysql_master_demo.db_router.DBRouter, ]# 以后自动读写分离 # 多从库负载 # 分库分表 DATABASES {# 主库default: {ENGINE: django.db.backends.mysql,NAME: zhu,USER: root,PASSWORD: 123456,HOST: 121.196.246.157,PORT: 33307,},# 从库db1: {ENGINE: django.db.backends.mysql,NAME: zhu,USER: root,PASSWORD: 123456,HOST: 121.196.246.157,PORT: 33306,}, }
http://www.hkea.cn/news/14565084/

相关文章:

  • 济南做网站软件前端需要会wordpress
  • 网站推广专家十年乐云seo网页设计期末作业源码
  • 免费 网站建设域名注册过程
  • 湖南营销型网站建设 地址磐石网络专业的网站建设服务商
  • 懂做网站的人就是好广州做网站app
  • 好用的网站系统网站需要的技术
  • 建筑工程专业网站优化的关键词
  • 销售网站页面特点做英文网站的标准字体
  • 浦东网站推广青岛制作企业网站
  • 邢台网站建设 冀icp备上海广告公司赵菲
  • 合肥建筑网站静态网站做新闻系统
  • 一站式营销推广平台一台云服务器多少钱
  • 两学一做山西答题网站深圳企业网站制作招聘信息
  • 微网站定制多久网站模板 整站源码
  • 电子商务网站开发与设计项目管理物流公司网站建设模板
  • 建设游戏网站石家庄网站建设策划方案
  • 如何设计商务网站商丘旅游网站的建设
  • 贵州省交通建设集团网站网站建设网站制作有限
  • 江门网站建设联系电话会写网站怎么赚钱
  • 交互效果网站网络管理系统设计
  • 建设银行的网站网站记登录账号怎么做
  • 淘宝客cms建站教程网站后台批量上传图片
  • 石家庄seo网站优化公司网络贷款公司哪个好
  • 苏州网站建设培训湖北建设工程造价协会网站
  • 网站设计和网站建设c 网站开发项目
  • 郑州教育培训机构网站建设用vs2012做简单网站
  • 素马杭州网站设计介绍百度竞价推广投放
  • 网站怎么快速排名wordpress 链接 中文乱码
  • 网站开发背景及意义做网站应该选择怎样的公司
  • 网站建设招标方案模板简述一下网站建设流程