mysql如何同步指定数据库

首先配置主库启用二进制日志并设置server-id,创建复制账号;然后在从库设置不同server-id并使用replicate-do-db指定同步数据库;接着在主库执行SHOW MASTER STATUS获取日志文件和位置,在从库通过CHANGE MASTER TO指向主库信息并启动复制;最后检查SHOW SLAVE STATUS中Slave_IO_Running和Slave_SQL_Running是否均为Yes以确认复制正常。注意防火墙开放3306端口、主从时间同步及跨库操作可能被忽略的问题,建议通过备份恢复初始化从库数据以确保一致性。

mysql如何同步指定数据库

MySQL同步指定数据库,通常通过主从复制(Replication)实现。只需要配置主库和从库,在从库上只同步你指定的数据库即可。整个过程不复杂,关键在于正确设置过滤规则。

1. 启用主库的二进制日志并配置server-id

要开启复制,主库必须启用二进制日志,并设置唯一的server-id

编辑主库的my.cnfmy.ini文件:

 [mysqld] server-id = 1 log-bin = mysql-bin binlog-format = ROW 

重启MySQL服务使配置生效。

创建用于复制的账号:

 CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; 

2. 配置从库并指定要同步的数据库

从库也需要设置唯一的server-id,并且不能与主库相同。

编辑从库配置文件

 [mysqld] server-id = 2 replicate-do-db = your_database_name  <strong># 只同步这个数据库</strong>

说明:replicate-do-db 表示只应用来自该数据库的事件。如果有多个数据库需要同步,可以添加多行,每行一个数据库。

mysql如何同步指定数据库

即构数智人

即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。

mysql如何同步指定数据库36

查看详情 mysql如何同步指定数据库

注意:如果使用了replicate-do-db,跨库操作(如主库执行USE other_db; UPDATE your_db.table SET ...)可能不会被正确同步,建议保持操作在目标数据库内进行。

3. 获取主库状态并启动复制

在主库上执行:

 SHOW MASTER STATUS; 

记录下FilePosition值。

在从库上配置主库连接信息:

 CHANGE MASTER TO   MASTER_HOST='主库IP',   MASTER_USER='repl',   MASTER_PASSWORD='password',   MASTER_LOG_FILE='mysql-bin.000001',  # 对应上面的File   MASTER_LOG_POS=1234;                 # 对应上面的Position <p>START SLAVE;</p>

查看从库复制状态:

 SHOW SLAVE STATUSG 

检查Slave_IO_RunningSlave_SQL_Running是否都为Yes

4. 常见问题与注意事项

  • 确保主从库时间同步,避免复制延迟误判。
  • 防火墙开放3306端口,允许从库连接主库。
  • 使用replicate-do-db时,SQL语句默认作用于指定数据库,否则可能跳过。
  • 若需更灵活控制(如忽略某些表),可使用replicate-ignore-table等参数。
  • 备份恢复方式初始化从库更安全:先在主库导出指定库数据,导入从库后再开始复制。

基本上就这些。只要主库开启binlog,从库配置好过滤规则,就能实现只同步指定数据库。关键是配置准确,状态检查到位。

mysql word 防火墙 端口 配置文件 常见问题 sql语句 sql mysql 事件 position table 数据库

上一篇
下一篇