为什么需要搭建Mysql集群
描述: 如果项目中使用单台数据库,如果由于不可抗因素导致设备损坏,数据丢失,将直接影响用户的使用.需要需要进行优化.
数据库备份方式
1 数据库冷备份
说明:定期将数据库中的数据实现转储.
缺点:
1.数据库冷备份由人工操作,非常的不方便
2.数据库冷备份由于是定期执行,所以可能会导致数据丢失.
现在的网络环境异常负责.数据库冷备份是恢复数据的最后的有效手段.
2 数据库热备份
说明: 由于数据库的同步的操作在工作中特别的频繁,所以作为数据库的开发人员,也设计了数据库如何进行同步.
同步的步骤:
- 数据库主库如果需要启动同步策略,则必须开启二进制日志文件.(默认条件下是关闭的.)
- 当用户"更新"数据库时,主库会将更新信息写入二进制日志文件中. (主库任务结束)
- 从库会利用IO线程读取主库中更新的二进制日志文件.
- IO线程会将读取到的信息采用异步的方式先保存到中继日志中.(中继临时存储数据的媒介)
- SQL线程会读取中继日志中的信息,之后将sql语句同步到从数据库中.至此实现了主从的同步…
上述的操作是由从库向主库获取数据, 所以从库理论上可以配置无数个(一般2-3台即可);
数据库主从搭建
1 开启主库二进制文件
命令: vim /etc/my.cnf
2 重启数据库
说明:当修改完成配置文件之后,需要重启数据库,使得二进制文件生效.
cd /var/lib/mysql/
systemctl restart mariadb
3 配置从数据库
说明:根据主数据库的配置信息 配置从数据库 如图所示 配置完成之后,重启数据库即可
4 实现主从的挂载
主库: 192.168.126.129 master
从库: 192.168.126.130 slave
4.1 检查主库状态信息
4.2 实现主从挂载
/*我是从库信息 130*/
SHOW MASTER STATUS;
/*实现主从的挂载*/
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
/*如果报错 则重新配置*/
STOP SLAVE
/*重新搭建主从将上述命令重新执行一遍*/
4.3 关于重置二进制日志文件的说明
问题描述: 有时重启多次主机之后,会生成多个二进制文件信息.如图所示
解决方案: 删除多余的二进制日志文件,之后重启数据库即可
之后重新挂载即可
5.主从同步测试
修改主库中的数据,检查从库数据是否同步即可