一步一图搭建-分布式服务器部署之mysql集群-主从复制与读写分离
来源:互联网 发布:java用sleep内存泄露 编辑:程序博客网 时间:2024/06/17 03:20
传统项目模型:
1.传统的设备搭建时,如果采用单台服务器.则会出现很多的问题.如果服务器出现宕机/断电/硬件设备的损坏,都会直接影响用户体验.
2.如果传统项目中遇到了高并发的情况.单台服务器不足以支持
分布式的处理:
传统数据库中存在的问题:
1.传统数据库设计时,如果服务器宕机,将不能为用户提供服务导致整个系统崩溃.
2.如果数据库突然宕机.会导致数据丢失.
3.为了防止数据丢失,要进行实时备份
冷备份:通过数据库工具进行人为的导出sql.但是手动导出数据可能在中间节点宕机时也会造成数据库的丢失.
热备份:通过程序进行控制,定时转储.尽可能的保证数据的完整性.但是还有大量的问题.
数据库的主从复制:
主从复制原理:
角色划分:
主库Master:主要进行的是数据的”更新操作”
从库Slave: 实时备份主库的更新信息
二进制日志: 实时记录主库的更新操作,并且形式二进制码.
中继日志: 保存主库的更新信
##### 调用原理
1.当主库更新数据后,会实时的写入到二进制日志文件中
2.从库的IO线程,实时的监听主库的二进制文件,如果二进制文件发送了改变则启动线程进行读取修改后的内容.
3.通过IO线程将读取的二进制文件写入到中继日志中.
4.日志中的消息,进行
数据库的”更新操建”
实战搭建
- 环境准备:三台centos6以上的服务器(可以使用虚拟机代替)
- 软件准备:mysql角色数据库(用户构建主从服务器集群)
将软件通过工具上传到linux上
使用解压命令解压
检查系统插件是否安装:
开始安装软件:(需要按顺序安装 各个包之间有顺序依赖关系)
debuginfo->share->client->server
安装shared:
安装client:
安装Server:(注意有坑! 如果之前两个插件没有安装这是server就会安装不上)
还有个坑就是 有些系统会自带一个数据库安装包 我这个就是安装的时候两个包冲突啦 导致一直都安装不上;
最新的centOS7会自带玛利亚数据库;必须要先把这个卸载才能安装我们的数据库:
使用rpm -ev 命令卸载mariadb数据库:
重新安装server包:
两个百分之百同时出现才说明安装成功!
接下来配置数据库:
配置可远程访问的用户:
使用连接工具测试一下:
主从数据库的基本配置都是相同的,两个可以同样的配置:
接下来配置主从同步关系:
找到my.cnf文件
因为我们使用rpm命令安装,在etc目录下可能会找不到my.cnf文件
这时我们需要新建一个my.cnf文件,一般情况下路径是不用修改可以直接拿来用的:
[mysqld]#skip-name-resolve#skip-grant-tablesdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlsymbolic-links=0server-id=1log-bin=mysql-bin[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
注意主从服务器server-id不能相同:一般把master选为1 其他的依次递增
查看主服务状态:
从服务器连接主服务器:
这里出啦个错误;因为从服务器添加my.cnf配置文件时没有重启数据库:
如何配置出错可以清除操作:
按步骤配置:
测试结果:
实现主从复制的mysql数据库已经搭建完成啦 以后的数据实时备份,备份实时更新再也不担心数据丢失啦。但要想实现数据库抗住高并发,高可用,还需要配置数据库的读写分离。由于这篇博客太长啦 我准备把数据库的读写分离单独出来。欢迎大家继续关注!
- 一步一图搭建-分布式服务器部署之mysql集群-主从复制与读写分离
- 一步一图搭建-分布式服务器部署之mysql集群-使用amoeba整合mysql实现读写分离
- mysql主从复制与读写分离部署
- mysql主从复制与读写分离(一)
- mysql集群技术:主从复制,读写分离
- centos搭建mysql主从复制,读写分离
- mysql主从复制搭建(读写分离)
- CentOS搭建MySQL主从复制,读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL 主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- MySQL主从复制与读写分离
- bcache ssd hdd
- SpringAOP的几种配置
- cloudera Manager 配置报警邮箱
- 程序中打印的
- phantomjs 简介
- 一步一图搭建-分布式服务器部署之mysql集群-主从复制与读写分离
- C++集合的模板类 交并集
- 11.3 欢乐爆零赛 知识总结 (Hanoi Rank Tree )
- 数组遍历
- 稳定性、防故障方法论
- python的反射机制之getattr(), setattr(), hasattr(), delattr()
- 多线程的同步与不同步
- python中的@与__call__()函数
- 双缓冲技术