![](/img/trans.png)
[英]MySQL Workbench - How to clone a database on the same server with different name?
[英]How to clone MySQL database under a different name with the same name and the same tables and rows/content using SQL query
我知道如何克隆表,例如:
CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new
SELECT * FROM production.recipes;
但我不知道如何将database_old克隆到database_new数据库,其中包含来自 database_old 的所有表和行。
所以,只有数据库的名称会改变。 其他一切都保持不变。
现在我通过在 phpmyadmin ad 中导出数据库然后创建一个新数据库并将其导入新数据库来克隆它。
但我想必须有一种更有效的方法来通过 SQL 查询来完成这项任务,比如克隆表。
重要的! 它需要从 phpmyadmin 中的 SQL 查询窗口完成,而不是从 shell 命令行完成。
预先感谢您建议如何做到这一点。
你试过使用MySQL Dump吗?
$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql
$ echo "create database yourSecondDatabase" | mysql -u user -ppassword
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql
重要的! 它需要从 phpmyadmin 中的 SQL 查询窗口完成,而不是从 shell 命令行完成。
首先创建一个空白数据库:
CREATE DATABASE `destination` DEFAULT CHARACTER SET
latin1 COLLATE latin1_swedish_ci;
然后使用命令show tables;
show source.tables;
然后为每个数据库表运行命令(优化创建表和插入行):
create table destination.table select * from source.table;
另一种方式是使用 like 命令:
create table destination.table like source.table
然后插入行;
insert into destination.table select * from source.table
如果 phpMyAdmin 可用于数据库,您可以按照以下步骤克隆它:
使用 phpMyAdmin 4.2.13.3 测试
然后喝杯咖啡……
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.