MySQL 部署快速开始
示例:MySQL 8.4,一主两备。
1. 准备 dbbot 与 Ansible
dbbot_version="1.11.20250429"
wget "https://github.com/fanderchan/dbbot/releases/download/${dbbot_version}/dbbot-${dbbot_version}-Linux-x86_64.tar.gz"
tar -zxvf "dbbot-${dbbot_version}-Linux-x86_64.tar.gz" -C /usr/local/
cd /usr/local/dbbot/portable-ansible-v0.5.0-py3
sh setup_portable_ansible.sh
source ~/.bashrc
ansible --version
2. 准备 MySQL 安装包(可选)
cd /usr/local/dbbot/mysql_ansible/downloads
mysql_version="8.4.5"
wget "https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${mysql_version}-linux-glibc2.17-x86_64-minimal.tar.xz"
若服务器可联网且开启自动下载,可不手工上传。
3. 配置主机与参数
inventory/hosts.ini:
[dbbot_mysql]
192.0.2.131 ansible_user=root ansible_ssh_pass="'密码'"
192.0.2.132 ansible_user=root ansible_ssh_pass="'密码'"
192.0.2.133 ansible_user=root ansible_ssh_pass="'密码'"
playbooks/common_config.yml:
mysql_version: "8.4.5"
mysql_port: 3306
说明:
- dbbot 公开默认密码遵循
Dbbot_<user>@8888/Dbbot_<linux_user>@9999。 - 默认
fcs_allow_dbbot_default_passwd: false,所以如果仍使用公开默认密码,部署前会在pre_tasks阶段直接失败。 - 实验环境可临时设为
true,生产环境应改成你自己的密码。
playbooks/vars/var_master_slave.yml:
master_ip: 192.0.2.131
slave_ips:
- 192.0.2.132
- 192.0.2.133
sub_nets: 1%
4. 执行前检查
cd /usr/local/dbbot/mysql_ansible/playbooks
ansible dbbot_mysql -m ping
5. 执行部署
cd /usr/local/dbbot/mysql_ansible/playbooks
ansible-playbook master_slave.yml
执行过程中按提示输入 confirm 后继续。
6. 部署完成验证
- 检查
PLAY RECAP中无failed/unreachable。 - 在目标机执行版本检查:
mysql -uadmin -h127.0.0.1 -P3306 -pDbbot_admin@8888 -e "select @@version"