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

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

然后将其导入sitedb2.

推荐答案

正如手册在Copying Databases中所说,您可以通过管道将转储直接导入mysql客户端:

mysqldump db_name | mysql new_db_name

如果你使用MyISAM,你可以复制could个文件,但我不推荐.这有点狡猾.

Integrated from various good other answers

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相关问答推荐

无法从容器从APS. NET应用程序连接到MySQL服务器容器

MySQL binlog事件上的并发事务行为

如果WHERE语句包含所有列,唯一键顺序是否重要?

如何跨多个产品查找相同时间范围的数据集

计算符合字段值只能包含一种事件类型这一事实的记录

在MySQL中查找包含无效正则表达式的行

无法确定查询逻辑

Golang中使用Gorm的Where条件转义字符无法正常工作的问题

MYSQL "Like" 正向和反向词序查询

生成直到 10 的平方数序列

MYSQL:如何根据之前的相关记录获取记录

MySql中的可见索引和不可见索引是什么

Mysql 相等性反对 false 或 true

SUBSTRING_INDEX 获取第 n 个值

SQL UPDATE中的str_replace?

在 WHERE 子句中使用 CASE

在 MySQL 中,我应该 Select 哪种排序规则?

docker-entrypoint-initdb 中的 MySQL 脚本未执行

Sequelize Query 查找日期范围内的所有记录

MySQL:切换 int 字段值的简单方法