首先配置主库启用二进制日志并设置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同步指定数据库,通常通过主从复制(Replication)实现。只需要配置主库和从库,在从库上只同步你指定的数据库即可。整个过程不复杂,关键在于正确设置过滤规则。
要开启复制,主库必须启用二进制日志,并设置唯一的server-id。
编辑主库的my.cnf或my.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;
从库也需要设置唯一的server-id,并且不能与主库相同。
编辑从库配置文件:
[mysqld] server-id = 2 replicate-do-db = your_database_name <strong># 只同步这个数据库</strong>
说明:replicate-do-db 表示只应用来自该数据库的事件。如果有多个数据库需要同步,可以添加多行,每行一个数据库。
注意:如果使用了replicate-do-db,跨库操作(如主库执行USE other_db; UPDATE your_db.table SET ...)可能不会被正确同步,建议保持操作在目标数据库内进行。
在主库上执行:
SHOW MASTER STATUS;
记录下File和Position值。
在从库上配置主库连接信息:
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 STATUS\G
检查Slave_IO_Running和Slave_SQL_Running是否都为Yes。
基本上就这些。只要主库开启binlog,从库配置好过滤规则,就能实现只同步指定数据库。关键是配置准确,状态检查到位。
以上就是mysql如何同步指定数据库的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号