Docker安装mysql8.0集群主主双主部署实现
1. 主从复制的原理
MySQL主从复制是用来提高MySQL数据库性能,实现故障自动转移和数据备份恢复的常用手段。主服务器自动将数据更新同步到一个或多个从服务器上,用于读取查询请求。主从复制大概分为以下几个步骤:
1. 建立备份初始数据;
2. 配置主库;
3. 配置从库;
4. 启动备份复制;
5. 验证备份数据库。
2. 主主双主实现方案
主节点双主集群部署需要在两个节点上安装MySQL数据库。主主集群的两个节点完全对等,有一个节点宕机时可以切换到另一个节点继续提供服务。主主集群可以同时读写,增强了系统的高可用性和可伸缩性。
3. Docker安装mysql8.0集群前置条件和安装步骤
- 安装Docker
- 安装Docker-compose
- 下载mysql8.0安装包
具体安装步骤可见文档。
4. MySQL数据库两个主节点设置
- 进入mysql容器并登录mysql客户端;
- 创建用户并授权;
- 设置连接;
- 启动slave同步进程;
- 查看slave状态;
- 测试:在主库上插入数据就可以看到效果了。
5. 利用nginx实现高可用
- 安装nginx
- 配置nginx# nginx配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream mysql_cluster {
server 10.0.0.10:3306;
server 10.0.0.20:3306;
check interval=3000 rise=2 fall=5 timeout=1000 type=tcp;
}
server {
listen 80;
server_name mysql.cluster.com;
location / {
proxy_pass http://mysql_cluster;
proxy_set_header Host $proxy_host;
proxy_set_header Connection "";
}
}
}
6. SpringBoot druid集成
- 安装nginx
- 配置nginx# nginx配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream mysql_cluster {
server 10.0.0.10:3306;
server 10.0.0.20:3306;
check interval=3000 rise=2 fall=5 timeout=1000 type=tcp;
}
server {
listen 80;
server_name mysql.cluster.com;
location / { proxy_pass http://mysql_cluster; proxy_set_header Host $proxy_host; proxy_set_header Connection ""; }
}
}
6. SpringBoot druid集成
springboot集成Druid,主要涉及以下配置:
1. 引入Druid;
2. 配置Druid注入;
3. 配置Druid过滤器。
用户评论