项目部署之后弊端
问题描述1: 当数据库宕机之后,可能导致数据丢失.必须通过某些策略,保证数据的有效性.
问题描述2: 如果后端数据库宕机,则通过某些技术手段可以实现高可用(可以实现自动的故障迁移)
1 数据库数据同步
1.1 数据库数据同步的流程图
目的:为了保证数据不丢失
1.2 数据库热备份原理图
冷备份说明: 定期将数据库内容进行转储. 弊端:可能丢失数据. 公司中也会采用冷备份的方式以防万一.
2)数据库热备份原理
特点:可以保证数据的实时备份.
工作原理说明:
1.数据库主库将更新的数据信息写入到二进制日志文件中.
2.数据库从库通过IO线程去主库中获取二进制文件修改内容. 之后写入到中继日志中
3.数据库从库中的Sql线程读取中继日志中的信息,实现数据的同步.
并且为了降低组件之间的耦合性,采用异步的方式处理.
2 准备第二台Linux操作系统
2.1 复制虚拟机文件
运行虚拟机-并且修改名称
2.2 修改虚拟机IP地址
规定: 主机IP地址 192.168.126.129 从机 192.168.126.130
1).进入修改IP地址目录
cd /etc/sysconfig/network-scripts/
2).修改配置文件信息
3).重置网卡
在slave中安装数据库
根据之前的笔记完成数据库安装
2.3.1 利用sqlYog工具链接从库
2.3.2 实现数据库导入导出
说明:在实现数据库主从之前,最好让主库和从库的数据一致.
2.4 数据库主从配置
2.4.1 开启数据库二进制文件
说明:默认条件下 数据库二进制文件是关闭的.如果需要开启,则必须手动配置. 之后重启数据库.
修改配置文件: vim /etc/my.cnf
2).修改之后,重启数据库
2.4.2 从库开启二进制文件
说明:修改从库之后,重启数据库
2).执行重启数据库指令
2.4.3 查询主库状态
说明:在数据库中执行如下指令
命令: show master status;
2.4.4 主从数据库挂载
说明:如果需要实现数据库的主从同步,应该由从库向主库进行挂载.
/*130是从机 实现主从的挂载 host/port/user/password/二进制文件/位置*/
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;
/*开启主从服务*/
start slave;
/*检查主从同步状态*/
show SLAVE status;
主从状态说明
2.4.5 挂载报错的说明
1.先查询日志信息
2.修改数据库配置之后重启
3.停止主从服务 STOP SLAVE;
4.重新挂载数据库
/*130是从机 实现主从的挂载 host/port/user/password/二进制文件/位置*/
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;
/*开启主从服务*/
START SLAVE;
2.4.6 测试主从同步
说明:操作数据库主库,检查数据库从库是否正确.