京淘day11

1.代码还原
1.1 IP地址问题
问题描述: windows的IP链接不通Linux中的IP地址.
在这里插入图片描述
在这里插入图片描述
问题说明: 当虚拟起启动时,虚拟网卡没有正常的工作导致的. 只需要重启网卡即可.
在这里插入图片描述
重启网卡命令:

service NetworkManager stop
chkconfig NetworkManager off 永久关闭 Manager网卡
service network restart 重启network网卡在这里插入代码片
1.2 还原hosts文件
在这里插入图片描述
1.3 还原图片路径

在这里插入图片描述
1.4 还原nginx配置
让域名访问8091服务器.
在这里插入图片描述
2 数据库相关学习
2.1 数据库备份策略
2.1.1 数据库冷备份
说明:通过数据库工具,定期将数据库文件进行转储,保证数据的安全性. (一般2-3天)
缺点:
1.备份时由于突发的情况,可能导致备份失败.需要反复备份.
2.由于冷备份是定期备份.所以可能导致数据的丢失.

核心:
数据必须备份.备份的数据是恢复的最后有效的手段.
在这里插入图片描述
在这里插入图片描述
2.1.2数据库热备份
说明:可以通过数据库机制,自动的实现数据的备份操作.
优点: 可以实现自动化的操作,并且是实时备份.
在这里插入图片描述
备份实现原理:
1.当数据库主机的数据发现变化时,会将修改的数据写入二进制日志文件中.
2.从库通过IO线程,读取主库的二进制日志文件,获取之后,将数据保存到中继(临时存储)日志中.
3.从库中开启Sql线程,之后读取中继日志中的数据,之后将数据同步到从库中.
2.2 准备多台服务器
2.2.1 修改虚拟机名称
说明:复制课前资料中的虚拟机,并且改名为JT_LINUX_S.之后启动即可.
在这里插入图片描述
2.2.2 修改Linux从机的mac地址
为了保证2台虚拟机正常稳定的运行,需要修改mac地址.
在这里插入图片描述
2.2.3 安装数据库从库

  1. 下载MariaDB数据库
  2. 测试: 当前虚拟机是否可以正确的链接外网.
  3. 在这里插入图片描述
    命令:
[root@localhost src]# yum  install mariadb-server      安装mariadb数据库
[root@localhost src]# yum  clean   all                 清空已安装文件   如果下载失败之后执行的.

```2 确认下载
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111211446517.png#pic_center)
3 安装完成提示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111211458611.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MTczNTMzMg==,size_16,color_FFFFFF,t_70#pic_center)
4 数据库启动
命令:
```java
	1.   启动命令    [root@localhost src]# systemctl  start  mariadb
	2.   重启命令    [root@localhost src]# systemctl  restart  mariadb
	3.   关闭命令    [root@localhost src]# systemctl  stop  mariadb

  1. 数据库初始化操作
  2. 命令: `mysql_secure_installation’
  3. 在这里插入图片描述
  4. 测试数据库用户名和密码是否有效
  5. 在这里插入图片描述
    7.导入数据表
    说明:如果mysql数据库需要导入数据表命令如下:
    命令: source /xxx/xxxx/xxxx/jtdb.sql;
    8.Mysql数据库远程访问配置
    在这里插入图片描述
    8.1 关于链接数据库的说明
    说明:
  6. 如果需要远程链接数据库必须通过防火墙
  7. 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接.
    8.2 配置数据库权限配置说明在这里插入图片描述
    8.3 配置Linux数据库权限
    8.3.1 切换数据库mysql
    在这里插入图片描述
    切换Mysql数据库
    在这里插入图片描述
    8.3.2 修改数据库表
    1).检查数据表
    在这里插入图片描述
    2).查询user表中的host/root/password
    在这里插入图片描述
    3).将host=“localhost” 改为 “%”
    在这里插入图片描述
    4).刷新数据库权限
    在这里插入图片描述
  8. 配置Linux防火墙策略
    13.9.1 检查防火墙状态
    命令: firewall-cmd --state
    在这里插入图片描述
    9.2 防火墙配置
    说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!
    需求: 告诉linux系统以后开机不需要启动防火墙
    命令: systemctl disable firewalld.service
    systemctl enable firewalld.service
    9.3 手动关闭防火墙
    说明:通过命令手动将防火墙关闭
    命令:
  9. systemctl stop firewalld.service
  10. systemctl start firewalld.service
    15.在这里插入图片描述
    9.4 手动开放防火墙端口
    1). 检查防火墙开放的端口
firewall-cmd --list-ports
2).检查端口是否开放

```java
firewall-cmd --query-port 80/tcp
3). 开启防火墙

```java
firewall-cmd --zone=public --add-port=80/tcp --permanent
4).移除端口

```java
 firewall-cmd --zone=public --remove-port=9090/tcp --permanent

在这里插入图片描述
5).关于防火墙操作的解释
–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–remove-port=80/tcp #移除端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

6).重启防火墙

firewall-cmd --reload

9.4 数据库远程测试
在这里插入图片描述
9.5 导入jtdb.sql
在这里插入图片描述
2.3 数据库主从搭建

2.3.1 开启主库二进制文件
说明:主库的二进制日志文件,默认条件下是关闭的,需要手动的开启.
命令: vim /etc/my.cnf
编辑二进制日志文件:
在这里插入图片描述
重启数据库,检查二进制日志文件,是否可用.
在这里插入图片描述

重启之后,生成二进制文件
在这里插入图片描述
2.3.2 开启从库二进制配置文件
修改文件: vim /etc/my.cnf
添加的操作和主库一致,之后重启数据库服务器,效果如下:

2.3.3 数据库主从搭建
1).检查主库的状态
在这里插入图片描述
2). 实现数据库主从挂载
在这里插入图片描述
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).主从状态的校验
在这里插入图片描述
2.3.4 数据库主从测试
注意事项:
1.修改主库的数据,从库会跟着同步数据.
2.如果修改从库数据,则主从的关系将会终止.
2.4 数据库读写分离/负载均衡实现
2.4.1 数据库优化策略
说明:通过代理数据库可以实现数据库的读写分离/数据库负载均衡操作,进一步的提升了整体架构的能力.

在这里插入图片描述
2.4.2 Mycat
在这里插入图片描述
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
在这里插入图片描述
2.5.2 解压Mycat

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

移动安装文件:

在这里插入图片描述
2.5.3 server.xml配置文件说明
注意事项: 默认条件下的端口号8066端口

<user name="root">
		<property name="password">root</property>
		<!--与schema.xml中的配置相同 注意数据库的大小写-->
		<property name="schemas">jtdb</property>
	</user>
	
	<user name="user">
		<property name="password">user</property>
		<property name="schemas">jtdb</property>
		<property name="readOnly">true</property>
	</user>

2.5.3 schema.xml配置

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
	
	<!--name属性是自定义的  dataNode表示数据库的节点信息  jtdb表示逻辑库-->
	<schema name="jtdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="jtdb"/>

	<!--定义节点名称/节点主机/数据名称-->
	<dataNode name="jtdb" dataHost="localhost1" database="jtdb" />
		<!--参数介绍 UTF-8 中文报错-->
		<!--balance 0表示所有的读操作都会发往writeHost主机 -->  
		<!--1表示所有的读操作发往readHost和闲置的主节点中-->
		<!--writeType=0 所有的写操作都发往第一个writeHost主机-->	
		<!--writeType=1 所有的写操作随机发往writeHost中-->
		<!--dbType 表示数据库类型 mysql/oracle-->
		<!--dbDriver="native"  固定参数 不变-->
		<!--switchType=-1 表示不自动切换, 主机宕机后不会自动切换从节点-->
		<!--switchType=1  表示会自动切换(默认值)如果第一个主节点宕机后,Mycat会进行3次心跳检测,如果3次都没有响应,则会自动切换到第二个主节点-->
		<!--并且会更新/conf/dnindex.properties文件的主节点信息 localhost1=0 表示第一个节点.该文件不要随意修改否则会出现大问题-->
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select 1</heartbeat>

		<!--配置第一台主机主要进行写库操作,在默认的条件下Mycat主要操作第一台主机在第一台主机中已经实现了读写分离.因为默认写操作会发往137的数据库.读的操作默认发往141.如果从节点比较忙,则主节点分担部分压力.
		-->
		<writeHost host="hostM1" url="192.168.126.129:3306" user="root" password="root">
			<!--读数据库1-->
			<readHost host="hostS1" url="192.168.126.130:3306" user="root" password="root" />
			<!--读数据库2-->
			<readHost host="hostS2" url="192.168.126.129:3306" user="root" password="root" />
			
		</writeHost>

			<!--定义第二台主机 由于数据库内部已经实现了双机热备.-->
			<!--Mycat实现高可用.当第一个主机137宕机后.mycat会自动发出心跳检测.检测3.-->
			<!--如果主机137没有给Mycat响应则判断主机死亡.则回启东第二台主机继续为用户提供服务.-->
			<!--如果137主机恢复之后则处于等待状态.如果141宕机则137再次持续为用户提供服务.-->
			<!--前提:实现双机热备.-->
		
		<!--<writeHost host="hostM2" url="192.168.126.130:3306" user="root" password="root">
			
			<readHost host="hostS1" url="192.168.126.130:3306" user="root" password="root" />
			
			<readHost host="hostS2" url="192.168.126.129:3306" user="root" password="root" />
		</writeHost>-->
		
	</dataHost>
</mycat:schema>

2.5.4 实现配置文件上传
在这里插入图片描述
2.5.5 Mycat命令
Usage: ./mycat { console | start | stop | restart | status | dump }
在这里插入图片描述
2.5.6 检查mycat日志
在这里插入图片描述
2.5.7 Mycat负载均衡测试
修改从库中的数据库.刷新列表页面.检查是否有负载均衡的效果.
注意事项: 如果测试完成,记得将数据修改 保证一致.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值