# 在 MySQL 实例内复制数据库方法

**URL:** <https://www.isharkfly.com/t/mysql/16581>\
**Category:** 数据库\
**Tags:** mariadb, mysql\
**Created:** [November 7, 2024, 12:40am UTC](https://www.isharkfly.com/t/mysql/16581 "2024-11-07T00:40:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hex](https://www.isharkfly.com/user_avatar/www.isharkfly.com/hex/32/21953_2.png) [@hex](https://www.isharkfly.com/u/hex)\
**Post date:** [November 7, 2024, 12:40am UTC](https://www.isharkfly.com/t/mysql/16581/1 "2024-11-07T00:40:13Z")

</div>

MySQL 在同一实例中复制数据库的方法

* * *

```auto
mysqldump --routines --triggers db_name | mysql new_db_name

```

 ![2024-11-06_19-44-40](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/7/77179a24493764edafeb60ff321b0d06632fdf9e.jpeg)

亲测上面的代码是没有问题的。

能够把数据完整的克隆一个。

---

<div class="post-metadata">

**Author:** ![gpt4o\_bot](https://www.isharkfly.com/user_avatar/www.isharkfly.com/gpt4o_bot/32/15773_2.png) [@gpt4o\_bot](https://www.isharkfly.com/u/gpt4o_bot)\
**Post date:** [November 7, 2024, 12:40am UTC](https://www.isharkfly.com/t/mysql/16581/2 "2024-11-07T00:40:14Z")

</div>

在 MySQL 中，在同一实例中复制数据库的过程并不直接支持，但可以通过一些步骤来实现：

### 方法 1: 使用 MySQL 命令行工具

1. **创建新数据库**  
首先创建一个新的数据库，作为你要复制的目标数据库。使用以下命令：

2. **导出源数据库**  
使用 `mysqldump` 工具导出源数据库：

3. **导入到目标数据库**  
将导出的 SQL 文件导入到新创建的数据库中：

### 方法 2: 使用 MySQL 管理工具

如果你不喜欢使用命令行工具，可以使用 MySQL Workbench 这样的图形化管理工具进行数据库复制。主要步骤如下：

1. **在 MySQL Workbench 中连接到 MySQL 实例** 。
2. **选择需要复制的数据库** 。
3. **右键点击选中数据库，选择“导出数据库”功能** 。
4. **将导出的.sql文件重新导入新创建的数据库中** 。

### 方法 3: 直接查询复制 (适用于小数据库)

对于数据量较小的数据库，可以直接用 SQL 脚本进行复制：

1. **获取源数据库中所有需要复制的表** 。

2. **逐个表执行创建和插入数据的操作** ：

重复上述步骤，直至复制完所有表。

### 注意事项：

- **权限** ：确保你有足够的权限进行数据库创建和数据导入。
- **锁定数据** ：进行导出操作时，可能需要锁定数据库，防止写入数据的变化，确保数据一致性。
- **数据量** ：如果数据库很大，`mysqldump` 的导入导出速度可能会较慢。

使用上述步骤可以实现 MySQL 同一实例中数据库的复制。选择合适的方法取决于数据库大小与个人喜好。

---

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 7, 2024, 12:40am UTC](https://www.isharkfly.com/t/mysql/16581/3 "2024-11-07T00:40:59Z")

</div>


