首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用bash编写的安装MYSQL主从复制

使用bash编写的安装MYSQL主从复制

作者头像
贺公子之数据科学与艺术
发布2025-08-29 16:26:36
发布2025-08-29 16:26:36
1920
举报
以下是使用bash编写的安装MYSQL主从复制的代码:
代码语言:javascript
复制
#!/bin/bash

# 安装主库
install_master() {
    # 安装MySQL服务器
    sudo apt-get update
    sudo apt-get install mysql-server -y

    # 配置MySQL服务器
    sudo sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
    sudo systemctl restart mysql

    # 创建复制账户并授权
    mysql -uroot -p -e "CREATE USER 'replication'@'%' IDENTIFIED BY 'password';"
    mysql -uroot -p -e "GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';"
    mysql -uroot -p -e "FLUSH PRIVILEGES;"

    # 查看主库状态
    mysql -uroot -p -e "SHOW MASTER STATUS;"
}

# 安装从库
install_slave() {
    # 安装MySQL服务器
    sudo apt-get update
    sudo apt-get install mysql-server -y

    # 配置MySQL服务器
    sudo sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
    sudo systemctl restart mysql

    # 启用复制
    mysql -uroot -p -e "CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_position;"
    mysql -uroot -p -e "START SLAVE;"

    # 查看从库状态
    mysql -uroot -p -e "SHOW SLAVE STATUS\G;"
}

# 初始化数据库
initialize_database() {
    mysql -uroot -p -e "CREATE DATABASE mydatabase;"
    mysql -uroot -p mydatabase < /path/to/initial_backup.sql
}

# 安装主库
install_master

# 初始化数据库
initialize_database

# 安装从库
install_slave

echo "MYSQL主从复制已完成!"

请注意将/path/to/initial_backup.sql替换为实际的备份SQL文件路径,并将master_ip替换为主库的实际IP地址,master_log_file替换为主库的实际日志文件,master_log_position替换为主库的实际日志位置。

执行以上脚本,将会完成MYSQL主从复制的安装和配置。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以下是使用bash编写的安装MYSQL主从复制的代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档