MySQL:在同一个 MySql 实例上克隆一个 MySQL 数据库

2023-05-24数据库问题
2

本文介绍了MySQL:在同一个 MySql 实例上克隆一个 MySQL 数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

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

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

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

解决方案

正如手册中所说的 复制数据库 您可以将转储直接通过管道传输到 mysql 客户端:

mysqldump db_name |mysql new_db_name

如果您使用的是 MyISAM,您可以复制文件,但我不建议这样做.有点不靠谱.

整合了各种其他好的答案

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

mysqldump -u <用户名>--password=<原始数据库>|mysql -u <用户名>-p <新数据库>

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

I would like to write a script which copies my current database sitedb1 to sitedb2 on the same mysql database instance. I know I can dump the sitedb1 to a sql script:

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

and then import it to sitedb2. Is there an easier way, without dumping the first database to a sql file?

解决方案

As the manual says in Copying Databases you can pipe the dump directly into the mysql client:

mysqldump db_name | mysql new_db_name

If you're using MyISAM you could copy the files, but I wouldn't recommend it. It's a bit dodgy.

Integrated from various good other answers

Both mysqldump and mysql commands accept options for setting connection details (and much more), like:

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

Also, if the new database is not existing yet, you have to create it beforehand (e.g. with echo "create database new_db_name" | mysql -u <dbuser> -p).

这篇关于MySQL:在同一个 MySql 实例上克隆一个 MySQL 数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

Mysql目录里的ibtmp1文件过大造成磁盘占满的解决办法
ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致...
2025-01-02 数据库问题
151

SQL 子句“GROUP BY 1"是什么意思?意思是?
What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)...
2024-04-16 数据库问题
62

MySQL groupwise MAX() 返回意外结果
MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)...
2024-04-16 数据库问题
13

MySQL SELECT 按组最频繁
MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)...
2024-04-16 数据库问题
16

为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同
Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)...
2024-04-16 数据库问题
13

MySQL GROUP BY DateTime +/- 3 秒
MySQL GROUP BY DateTime +/- 3 seconds(MySQL GROUP BY DateTime +/- 3 秒)...
2024-04-16 数据库问题
14