You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux服务器MySQL 8单Schema Replica配置可行性及实现步骤咨询

MySQL 8 仅同步单个Schema的主从复制配置方案

完全可行,MySQL 8支持基于指定Schema(库)的过滤复制,可实现仅同步目标Schema的需求,具体配置流程如下:

一、主库(Master)配置

  1. 修改主库配置文件
    编辑主库的my.cnf(通常路径为/etc/my.cnf或/etc/mysql/my.cnf),添加或调整以下参数:

    server-id = 1          # 主库唯一ID,需与从库不同
    log_bin = /var/log/mysql/mysql-bin.log  # 开启二进制日志,路径按需调整
    binlog_do_db = target_schema_name       # 仅记录指定Schema的二进制日志
    binlog_format = ROW    # 推荐行格式,避免语句级复制的兼容性问题
    

    保存后重启主库服务:

    systemctl restart mysqld
    
  2. 创建复制专用账号
    登录主库MySQL控制台:

    mysql -u root -p
    

    执行SQL创建授权复制用户(替换从库IP和自定义密码):

    CREATE USER 'repl'@'从库IP地址' IDENTIFIED WITH mysql_native_password BY 'your_password';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库IP地址';
    FLUSH PRIVILEGES;
    

    注:MySQL 8默认使用caching_sha2_password认证,部分从库客户端可能不兼容,因此采用mysql_native_password更稳妥。

  3. 导出目标Schema并记录主库状态
    先锁定主库表以保证备份一致性:

    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;
    

    记录结果中的File和Position值(后续从库配置需用到)。

    新开终端执行导出命令(替换target_schema_name):

    mysqldump -u root -p --databases target_schema_name > schema_backup.sql
    

    导出完成后回到主库控制台解锁表:

    UNLOCK TABLES;
    

二、从库(Slave)配置

  1. 修改从库配置文件
    编辑从库的my.cnf,添加或调整以下参数:

    server-id = 2          # 从库唯一ID,需与主库不同
    relay_log = /var/log/mysql/mysql-relay-bin.log  # 开启中继日志
    read_only = 1          # 设置从库只读(超级用户仍可写入)
    replicate_do_db = target_schema_name       # 仅应用指定Schema的复制日志
    

    保存后重启从库服务:

    systemctl restart mysqld
    
  2. 导入主库备份
    将主库导出的schema_backup.sql传输到从库,执行导入:

    mysql -u root -p < schema_backup.sql
    
  3. 配置并启动复制
    登录从库MySQL控制台,执行复制配置(替换主库IP、密码及之前记录的File/Position值):

    CHANGE MASTER TO
    MASTER_HOST='主库IP地址',
    MASTER_USER='repl',
    MASTER_PASSWORD='your_password',
    MASTER_LOG_FILE='mysql-bin.xxxxxx',
    MASTER_LOG_POS=xxxx;
    

    启动复制进程:

    START SLAVE;
    

    检查复制状态:

    SHOW SLAVE STATUS\G;
    

    确认Slave_IO_Running和Slave_SQL_Running均为Yes,则复制配置成功。

注意事项

  • 主从库MySQL版本尽量保持一致,避免版本差异导致的复制异常
  • binlog_do_db(主库端)和replicate_do_db(从库端)配合使用,可最大程度减少不必要的日志传输和应用
  • 若需动态调整过滤规则,可使用SET GLOBAL replicate_do_db='target_schema_name';,但需写入配置文件保证重启后生效
  • 从库的read_only参数仅限制普通用户写入,超级用户仍可操作,若需严格只读可额外配置super_read_only=1

内容的提问来源于stack exchange,提问作者Rajesh Gandhavarapu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:15:36