京淘项目day11

1. 代码还原

1.1 IP地址问题

问题描述:windows的IP链接不同Linux中的IP地址
京淘项目day11_第1张图片

问题说明:当虚拟机在启动时,虚拟网卡没有正常工作导致的,只需要重启网卡即可.
京淘项目day11_第2张图片

问题说明: 当虚拟起启动时,虚拟网卡没有正常的工作导致的. 只需要重启网卡即可.
京淘项目day11_第3张图片

重启网卡命令

service NetworkManager stop
chkconfig NetworkManager off    永久关闭 Manager网卡
service network restart         重启network网卡

1.2 还原hosts文件

京淘项目day11_第4张图片

1.3 还原图片路径

京淘项目day11_第5张图片

1.4 还原nginx配置

让域名访问8091服务器.
京淘项目day11_第6张图片

2 数据库相关学习

2.1 数据库备份规则

2.1.1 数据库备份策略

2.1.1 数据库冷备份

说明:通过数据库工具,定期将数据库文件进行转储,保证数据的安全性(一般2-3天)

缺点:
    1.备份时由于突发情况,可能导致备份失败,需要反复备份.
    2.由于冷备份是定期备份,所以可能导致数据的丢失.
    
核心:
    数据必须备份,备份的数据时恢复的最后有效的手段
    

京淘项目day11_第7张图片

京淘项目day11_第8张图片

2.1.2 数据库热备份

说明:可以通过数据库机制,自动的实现数据的备份操作.
优点:可以实现自动化的操作,并且是实时备份
京淘项目day11_第9张图片

备份实现原理:
    1.当数据主机发生变化时,会将修改的数据写入二进制日志文件中.
    2.从库通过IO线程,读取主库的二进制日志文件,获取之后,将数据保存到中继(临时存储)日志中.
    3.从库中开启Sql线程.之后读取中继日志中的数据,之后将数据同步到从库中

2.2 准备多台服务器

2.2.1 修改虚拟机名称

说明:复制课前资料中的虚拟机,并且改名为JT_LINUX_S.之后启动即可.
image

2.2.2 修改Linux从机的mac地址

为了保证2台虚拟机正常稳定的运行,需要修改mac地址.
京淘项目day11_第10张图片

2.2.3 安装数据库

具体参见博客文档

2.3 数据库主从搭建

2.3.1 开启主库二进制文件

说明:主库的二进制日志文件,默认条件小
命令:vim /etc/my.cnf
编辑二进制文件:
京淘项目day11_第11张图片

重启数据库,检查二进制日志文件是否可用
京淘项目day11_第12张图片

重启之后,生成二进制文件
京淘项目day11_第13张图片

2.3.2 开启从库二进制配置文件

修改文件: vim /etc/my.cnf
添加的操作和主库一致,之后重启数据库服务器,效果如下:
京淘项目day11_第14张图片

2.3.3 数据库主从搭建

1).检查主库的状态
京淘项目day11_第15张图片

2).实现数据库主从挂载

/*我是130 我是从库*/
/*1.实现数据库主从挂载 host/port/user/password/二进制日志/pos*/
CHANGE MASTER TO MASTER_HOST="192.168.126.129",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=245;

/*2.启动数据库主从服务*/
START SLAVE;

/*3.检查数据库启动状态*/
SHOW SLAVE STATUS;

/*4.如果出现数据库问题  1.关闭主从服务, 2.检查报错状态  3.重新搭建服务*/
STOP SLAVE    
/*检查报错信息 根据报错修改记录*/
/*重新搭建主从关系*/

3).主从状态的校验
image

2.3.4 数据库主从测试

1.注意事项:
    1.修改主库的数据,从库会跟着同步数据.
    2.如果修改从库数据,则主从的关系将会终止

2.4 数据库读写分离/负载均衡实现

2.4.1 数据库优化策略

说明:通过代理数据库可以实现数据库的读写分离,数据库负载均衡操作,进一步的提升了整体架构的能力
京淘项目day11_第16张图片

2.4.2 Mycat

京淘项目day11_第17张图片

2.4.3 Mycat特性

  • 支持SQL92标准
  • 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法
  • 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。
  • 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。
  • 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
  • 基于Nio实现,有效管理线程,解决高并发问题。
  • 支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。
  • 支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。
  • 支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。
  • 支持多租户方案。
  • 支持分布式事务(弱xa)。
  • 支持XA分布式事务(1.6.5)。
  • 支持全局序列号,解决分布式下的主键生成问题。
  • 分片规则丰富,插件化开发,易于扩展。
  • 强大的web,命令行监控。
  • 支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
  • 支持密码加密
  • 支持服务降级
  • 支持IP白名单
  • 支持SQL黑名单、sql注入攻击拦截
  • 支持prepare预编译指令(1.6)
  • 支持非堆内存(Direct Memory)聚合计算(1.6)
  • 支持PostgreSQL的native协议(1.6)
  • 支持mysql和oracle存储过程,out参数、多结果集返回(1.6)
  • 支持zookeeper协调主从切换、zk序列、配置zk化(1.6)
  • 支持库内分表(1.6)
  • 集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。

2.5部署步骤

2.5.1 上传myCat服务器

上传路径: /usr/local/src
京淘项目day11_第18张图片

2.5.2 解压Mycat

tar -xvf  Mycat-server-1.7.0-DEV-20170416134921-linux.tar.gz

移动安装路径:
京淘项目day11_第19张图片

2.5.3 server.xml配置文件说明

注意事项: 默认条件下的端口号8066端口


        root
        
        jtdb
    
    
    
        user
        jtdb
        true
    

2.5.3 schema.xml配置




    
    
    

    
    
        
          
        
            
        
        
        
        
        
        
    
        select 1

        
        
            
            
            
            
            
        

            
            
            
            
            
        
        
        
    

2.5.4 实现配置文件的上传

京淘项目day11_第20张图片

2.5.5 Mycat命令

Usage: ./mycat { console | start | stop | restart | status | dump }

京淘项目day11_第21张图片

2.5.6 检查mycat日志

京淘项目day11_第22张图片

2.5.7 Mycat负载均衡测试

修改从库中的数据库.刷新列表页面.检查是否有负载均衡的效果.
注意事项: 如果测试完成,记得将数据修改 保证一致.

你可能感兴趣的:(java,linux,负载均衡)