首页  >  文章  >  数据库  >  如何在同一实例上克隆 MySQL 数据库而不转储到 SQL?

如何在同一实例上克隆 MySQL 数据库而不转储到 SQL?

Barbara Streisand
Barbara Streisand原创
2024-10-31 02:52:01517浏览

How to Clone a MySQL Database on the Same Instance Without Dumping to SQL?

在同一实例上克隆 MySQL 数据库而不转储到 SQL

无需创建数据库即可在同一 MySQL 实例上复制数据库中间 SQL 转储。以下步骤概述了完成此任务的有效方法:

  1. 建立连接:使用 root 用户或具有足够权限的用户登录 MySQL 客户端:
mysql -u root -p
  1. 使用管道方法:执行以下命令将转储直接通过管道传输到新数据库中:
mysqldump --routines --triggers source_db | mysql target_db

这方法将结构和数据从 source_db 传输到 target_db。

  1. 处理连接详细信息:如有必要,请指定源数据库和目标数据库的连接详细信息:
mysqldump -u source_user -p source_password -h source_host source_db | mysql -u target_user -p target_password -h target_host target_db
  1. 创建目标数据库:如果目标数据库不存在,请先使用以下命令创建:
echo "create database target_db" | mysql -u user_name -p
  1. 复制非 MyISAM 表:如果您的表不是 MyISAM 格式,请遵循相同的管道方法,但另外包含 --skip-data 和 --add-drop-table 选项:
mysqldump --routines --triggers --skip-data --add-drop-table source_db | mysql target_db
mysql source_db -e "select * from table_name" | mysql target_db

通过使用管道方法,您可以在同一实例上快速克隆 MySQL 数据库,而无需创建中间 SQL 文件。

以上是如何在同一实例上克隆 MySQL 数据库而不转储到 SQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn