mysql - 在同一MySql实例上克隆MySQL数据库

标签 mysql database copy clone mysqldump

我想编写一个脚本,将我的当前数据库sitedb1复制到同一mysql数据库实例上的sitedb2。我知道我可以将sitedb1转储到sql脚本中:

mysqldump -u root -p sitedb1 >~/db_name.sql


然后将其导入到sitedb2
有没有更简单的方法,而无需将第一个数据库转储到sql文件?

最佳答案

正如手册在Copying Databases中所述,您可以将转储直接通过管道传递到mysql客户端:

mysqldump db_name | mysql new_db_name


如果您使用的是MyISAM,则可以复制文件,但我不建议这样做。这有点狡猾。

综合各种其他答案

mysqldumpmysql命令都接受用于设置连接详细信息的选项(以及更多),例如:

mysqldump -u <user name> --password=<pwd> <original db> | mysql -u <user name> -p <new db>


另外,如果尚不存在新数据库,则必须事先创建它(例如,使用echo "create database new_db_name" | mysql -u <dbuser> -p)。

关于mysql - 在同一MySql实例上克隆MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58699674/

相关文章:

file - ROBOCOPY - 将文件夹内容复制到单个文件夹

Java - while 循环中的中断不起作用

mysql - 查询以获取用户最近和最高的事件

MySQL克隆一个表,修剪一些数据,然后热交换它们的名称

php - Wordpress 插件处于事件状态但未在管理工具中检查

sql-server - 比较两个数据库之间的数据模型的选项?

mysql - 正确使用 HAVING 子句,返回唯一行

database - Android:当绑定(bind)到的数据库发生变化时,listviews 能否动态更新 UI 输出?

jquery - 使用 ajax 时,在 iOS 中按住文本不会在 jQueryMobile 对话框中显示 'copy' 按钮

linux - su 之后缺少文件操作数 cp