我想编写一个复制当前数据库的脚本sitedb1
to sitedb2
在同一个 mysql 数据库实例上。我知道我可以将 sitedb1 转储到 sql 脚本:
mysqldump -u root -p sitedb1 >~/db_name.sql
然后将其导入到sitedb2
。
有没有更简单的方法,无需将第一个数据库转储到 sql 文件?
正如手册中所说复制数据库 http://dev.mysql.com/doc/refman/5.0/en/copying-databases.html您可以将转储直接通过管道传输到 mysql 客户端:
mysqldump db_name | mysql new_db_name
如果您使用 MyISAMcould复制文件,但我不推荐这样做。这有点狡猾。
综合了各种好的其他答案
Both mysqldump
and mysql
命令接受用于设置连接详细信息(以及更多)的选项,例如:
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
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)