MySQL 5.7主从+keepalived安装
安装流程
-
在两个节点上安装MySQL bin包,并在规划的主节点执行初始化SQL(从节点可不执行初始化SQL)
-
修改/etc/hosts文件,添加两个节点的hostname和ip信息
-
在主节点上执行自动搭建脚本:auto_build_mysql_keepalived.sh。脚本目录为:/opt/xxxx/mysql/scripts/mysql_keepalived,可选择使用参数文件或者直接带相关参数执行脚本。使用方法和参数及其意义可用--help查看使用帮助(图1)。
执行时不指定参数,将使用配置文件mysql_keepalived.ini中的默认值(图2),指定参数则将参数值更新到配置文件中,或者可以按照指定格式直接编辑配置文件,然后不带参数执行本脚本。
图1: auto_build_mysql_keepalived.sh帮助信息
图2: mysql_keepalived.ini配置文件内容
相关脚本说明 TOP
相关脚本都在/opt/bxxxxix/mysql/scripts/mysql_keepalived目录下,相关说明见下表:
图3: 所有相关脚本
脚本名称 | 脚本说明 |
auto_build_mysql_keepalived.sh | 总控脚本,搭建MySQL5.7+keepalived |
build_bidirectional_replication.sh | 搭建双向复制的脚本 |
mysql_keepalived_config_db1.sh | 在DB1配置keepalived的脚本 |
mysql_keepalived_config_db2.sh | 在DB2配置keepalived的脚本 |
ini.sh | 读取、修改配置文件 |
mysql_keepalived.ini | 配置文件 |
check_mysql.sh | keepalived检查MySQL脚本 |
notify_master_mysql.sh | keepalived转换为master状态执行的脚本 |
notify_backup_mysql.sh | keepalived转换为slave状态执行的脚本 |
manual_switch_to_db1.sh | 手动把master切换到DB1的脚本 |
manual_switch_to_db2.sh | 手动把master切换到DB2的脚本 |
keepalived | keepalived启动脚本 |
总控脚本auto_build_mysql_keepalived.sh调用build_bidirectional_replication.sh、mysql_keepalived_config_db1.sh和mysql_keepalived_config_db2.sh三个脚本完成整个搭建过程。
执行build_bidirectional_replication.sh搭建双向复制的日志为build_bidirectional_replication.log,在目录/opt/xxxxxix/logs/mysql下。如下图:
图 4: DB1上build_bidirectional_replication.log
图 5: DB2上build_bidirectional_replication.log
mysql_keepalived_config_db1.sh和mysql_keepalived_config_db2.sh会分别在DB1和DB2上完成创建keepalived主目录、添加配置文件和相关脚本,并启动keepalived。
keepalived的主目录为/opt/xxxix/mysql_keepalived,包含相关的配置文件、检查脚本、通知脚本、手动切换脚本及状态切换日志。
DB1和DB2上的目录详情如下两图:
图6: DB1 keepalived主目录
图 7: DB2 keepalived主目录