1.集群目的:负载均衡 解决高并发
高可用HA 服务可用性
远程灾备 数据有效性
类型:M
M-S
M-S-S
M-M
M-M-S-S
原理:在主库把数据更改(DDL DML DCL)记录到二进制日志中。
备库I/O线程将主库上的日志复制到自己的中继日志中。
备库SQL线程读取中继日志中的事件,将其重放到备份数据库之上。
2.集群案例:环境全新的服务器,且未安装mysql程序。
不可克隆带有mysql程序的虚拟机。
配置虚拟域名。
一主一从(手动配置):创建数据库,且数据库里面要有东西。
注:配置完成之后查看状态,如果状态有问题,把从数据库关闭,关闭二进制文件。删除/var/lib/mysql/*和/var/log/mysqld.log文件重新开始,且两者配置的server-id不可以相同。
自动配置
注:二者区别为前者需要手动查询二进制文件终点,后面不需要。数据不同步,删除文件重新来。
双主双从:
注:做双从的时候此时两个主机的数据库数据一致,将此时数据库的文件拷贝下来发到从虚拟机里。 若出现脏数据的情况,删文件重来。
3.代理:DB Proxy,数据库中间件。
功能:读写分离
负载均衡
支持数据库的分片自动路和聚合。
环境:准备好域名解析,且服务器里没有mysql文件。
以及配置好一主一从(最低配置)
①:去官网中寻找jdk数据包。
②:下载mycat
注释掉多余的用户
启动mycat管理员
配置mycat后端文件,vim /usr/local/mycat/conf/schema.xml(配置前最好备份)
③:配置mysql群授权账户grant all on *.* to “mycatproxy”@ip地址 identified by “密码”(注:此ip地址为mycat所在服务器的ip地址)
④:启动mycat文件
此时只能查看mariadb里面的数据库tianyun,需要在主库上创建此库才能mycat才能进去并在里面插入数据。