温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何配置主从数据库复制

发布时间:2025-09-11 01:56:18 来源:亿速云 阅读:123 作者:小樊 栏目:系统运维

以下是MySQL和PostgreSQL主从复制的配置步骤:

MySQL主从复制配置

主库(Master)配置

  1. 修改配置文件(/etc/my.cnf):

    [mysqld]
    server-id=1                # 主库唯一ID
    log-bin=mysql-bin          # 启用二进制日志
    binlog_format=ROW          # 推荐使用ROW格式
    binlog_do_db=your_database # 可选:指定同步数据库
    

    重启MySQL:systemctl restart mysqld。

  2. 创建复制用户:

    CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
    FLUSH PRIVILEGES;
    
  3. 获取主库状态:

    SHOW MASTER STATUS;
    

    记录File(如mysql-bin.000001)和Position(如154),用于从库配置。

从库(Slave)配置

  1. 修改配置文件(/etc/my.cnf):

    [mysqld]
    server-id=2                # 从库唯一ID(不能与主库重复)
    relay-log=mysql-relay-bin  # 启用中继日志
    read_only=1                # 可选:设为只读
    

    重启MySQL:systemctl restart mysqld。

  2. 配置同步参数:

    CHANGE MASTER TO
    MASTER_HOST='主库IP',
    MASTER_USER='repl',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',  # 主库记录的File
    MASTER_LOG_POS=154;                  # 主库记录的Position
    

    启动复制:START SLAVE;

  3. 验证复制状态:

    SHOW SLAVE STATUS\G;
    

    检查Slave_IO_Running和Slave_SQL_Running是否为Yes,无错误即成功。

PostgreSQL主从复制配置

主库(Master)配置

  1. 修改配置文件(postgresql.conf):

    wal_level=replica          # 启用WAL日志
    max_wal_senders=3          # 允许的WAL发送者数量
    wal_keep_segments=64       # 保留的WAL日志段数量
    listen_addresses='*'       # 允许远程连接
    

    编辑pg_hba.conf,添加从库IP访问权限:

    host    replication    replicator    从库IP/32    md5
    

    重启PostgreSQL:systemctl restart postgresql。

  2. 创建复制用户:

    CREATE USER replicator REPLICATION LOGIN PASSWORD 'password';
    

从库(Slave)配置

  1. 修改配置文件(postgresql.conf):

    hot_standby=on             # 启用热备份
    

    编辑recovery.conf(或postgresql.conf):

    standby_mode='on'
    primary_conninfo='host=主库IP port=5432 user=replicator password=password'
    

    重启PostgreSQL。

  2. 验证复制状态:
    在主库执行:

    SELECT * FROM pg_stat_replication;
    

    查看state是否为streaming,确认数据同步。

注意事项

  • 网络与权限:确保主从服务器网络互通,防火墙开放对应端口(MySQL默认3306,PostgreSQL默认5432),复制用户需具备远程连接权限。
  • 版本兼容性:主从服务器建议使用相同或兼容的数据库版本。
  • 数据一致性:若主库已有数据,需先通过mysqldump(MySQL)或pg_dump(PostgreSQL)导出并导入到从库,确保初始数据一致。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手