
mysql高可用
防火墙设置:
发布日期:2021-05-18 07:14:08
浏览次数:11
分类:精选文章
本文共 3561 字,大约阅读时间需要 11 分钟。
MySQL 主从复制与 Galera 集群配置指南
MySql 主从复制
概述
MySQL 主从复制是一种简单且高效的数据库复制机制,基于半同步复制进行数据同步。其优点包括架构简单、资源需求少、故障恢复便捷等特点。
主从复制优点
架构简单:基于原生半同步复制进行数据同步,无需额外依赖。
无单点故障:主节点故障时,直接切换到从节点,无需选主。
资源占用低:双节点架构,资源需求少,部署简单。
缺点:
依赖半同步复制:若半同步复制出现问题,数据一致性可能无法保证。
需配置keepalived:确保高可用性。
MySql 主从复制配置
Master 配置
firewall-cmd --add-port=123/udpfirewall-cmd --add-port=3306/tcp
- 修改MySQL配置文件:
- 授权从服务器:
- 查看日志文件与同步状态:
- 备份与导出数据库:
- 导入到从服务器:
- 同步主节点时间:
- 修改MySQL配置文件:
- 导入主节点数据库:
- 启动复制:
- 查看复制状态:
- 卸载旧有MySQL安装包:
- 配置YUM源:
- 安装MySQL Galera:
- 修改配置文件:
- 启动节点:
- 安装Percona XtraDB:
- 配置XtraDB 集群:
- 启动数据库服务:
- 下载并编译keepalived:
- 配置keepalived:
# /etc/my.cnf[mysqld]log-bin = master-binserver-id = 1binlog_do_db = db1binlog_ignore_db = db2
mysql> GRANT REPLICATION SLAVE ON *.* TO root@'192.168.10.%' IDENTIFIED BY '123456';
mysql> SHOW MASTER STATUS\G
mysqldump -u root -p --all-databases > /path/master.sql
mysql -u root -p < /path/master.sql
###Slave 配置
ntpdate 192.168.10.1
# /etc/my.cnf[mysqld]log-bin = slave-binserver-id = 2replicate-do-db = db1replicate-ignore-db = db2
mysql -u root -p < /path/master.sql
mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.1', MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='master-bin.000003', MASTER_LOG_POS=1234;mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G
Galera 集群配置
安装 MariaDB Galera Cluster
rpm -qa | grep mysql | xargs rpm -e --nodeps
vim /etc/yum.repos.d/galera.repo
[galley]baseurl=http://yum.mariadb.org/10.0/centos7-amd64gpgcheck=0enabled=1
yum install MariaDB-Galera-server -y
配置Galera集群
vim /etc/my.cnf.d/server.cnf
[galera]wsrep_provider=/usr/lib64/galera/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.10.1,192.168.10.2"binlog_format=row
/usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/localhost.pid --wsrep-new-cluster
Percona XtraDB 集群
# 安装相关rpm包rpm -ivh http://mirrors.ustc.edu.cn/percona/tools/yum/release/7/RPMS/x86_64/percona-xtrabackup-24-2.4.22-1.el7.x86_64.rpmrpm -ivh http://mirrors.ustc.edu.cn/percona/pxc-57/yum/release/7/RPMS/x86_64/Percona-XtraDB-Cluster-shared-57-5.7.33-31.49.1.el7.x86_64.rpm
vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
wsrep_cluster_address=gcomm://192.168.10.1,192.168.10.2wsrep_node_address=192.168.10.3wsrep_sst_auth="sstuser:sstpass"
systemctl start mysql@bootstrap.service
keepalived 高可用机制
基本配置
tar -xzvf keepalived-2.2.2.tar.gzcd.keepalived-2.2.2/./configure && make
vim ./keepalived/etc/keepalived/keepalived.conf
global_defs { notification_email { sysadmin@fire.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_164 vrrp_skip_check_adv_addr vrrp_strict}vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.10.37 }}virtual_server 192.168.10.37 3306 { lb_algo rr lb_kind NAT persistence_timeout 50 protocol TCP real_server 192.168.10.164 3306 { weight 1 notify_down /path/shutdown.sh tcp_check { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 3306 } }}
防火墙配置
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPTfirewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPTfirewall-cmd --reload
总结
上述文档详细介绍了MySQL主从复制相关配置方法以及基于Galera协议的高可用集群解决方案,涵盖了从单节点复制到Galera集群的多种部署方式,并提供了keepalived作为高可用解决方案的配置示例。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月14日 16时58分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
VMware克隆虚拟机后重启network失败
2019-03-14
Hbase压力测试
2019-03-14
StreamReader & StreamWriter
2019-03-14
C#中的类、方法和属性
2019-03-14
Python爬取清朝末年医书:《醉花窗医案》,看看病症情况
2019-03-14
Python爬虫训练:爬取酷燃网视频数据
2019-03-14
Python数据分析入门(十九):绘制散点图
2019-03-14
大佬谈接口自动化,我是这样做测试框架开发的……
2019-03-14
C++版浙大PAT乙级1069(20分)测试点3答案错误解决方法
2019-03-14
hive内部错误
2019-03-14
Error:scalac: bad option: '-make:transitive'
2019-03-14
微软xp壁纸rgb
2019-03-14
浏览器刷新页面
2019-03-14
代码错误信息,微信报错
2019-03-14
easyui日期处理(开始时间和结束时间)
2019-03-14
java文件上传
2019-03-14
Callable中call方法和Runnable中run方法的区别
2019-03-14
【蓝桥杯】 java 大学c组 省赛 1、隔行变色
2019-03-14
超市账单管理系统
2019-03-14