在CentOS上实现SQLAdmin的高可用性,可以采用多种方案。以下是两种常见的方案:
安装MySQL复制:
安装Keepalived:
配置SQLAdmin:
安装MySQL复制:
# 在主服务器上
yum install mysql-server
systemctl start mysqld
mysql_secure_installation
# 在从服务器上
yum install mysql-server
systemctl start mysqld
mysql_secure_installation
# 配置主服务器
mysql -u root -p
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
# 配置从服务器
mysql -u root -p
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
START SLAVE;
安装Keepalived:
# 在两台服务器上
yum install keepalived
systemctl start keepalived
systemctl enable keepalived
# 配置Keepalived
# 主服务器配置文件 /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 42
}
virtual_ipaddress {
192.168.1.100
}
}
# 从服务器配置文件 /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 42
}
virtual_ipaddress {
192.168.1.100
}
}
配置SQLAdmin:
安装Pacemaker和Corosync:
配置Pacemaker:
配置SQLAdmin:
安装Pacemaker和Corosync:
# 在两台服务器上
yum install pacemaker corosync
systemctl start corosync
systemctl enable corosync
# 配置Corosync
# 编辑 /etc/corosync/corosync.conf
totem {
version: 2
cluster_name: my_cluster
transport: udpu
}
nodelist {
node {
ring0_addr: server1_ip
nodeid: 1
}
node {
ring0_addr: server2_ip
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
}
logging {
to_logfile: yes
logfile: /var/log/corosync/corosync.log
to_syslog: yes
}
authkey {
authkey: 1234
}
# 启动Pacemaker
systemctl start pacemaker
systemctl enable pacemaker
配置Pacemaker:
# 创建资源组
crm configure primitive mysql ocf:mysql:server \
params binary="/usr/sbin/mysqld_safe" \
op monitor interval="30s"
crm configure primitive vip ocf:heartbeat:IPaddr2 \
params ip="192.168.1.100" \
nic="eth0" \
op monitor interval="30s"
crm configure group mysql_group mysql vip
配置SQLAdmin:
通过以上两种方案,可以在CentOS上实现SQLAdmin的高可用性。选择哪种方案取决于具体的需求和环境。