mysqldump拷贝(复制)数据库

我们都知道,通过mysqldump命令可以将数据库导出,该命令还包含了很多选项,比如忽略表、导出所有(指定)数据库、添加drop语句等,至于具体使用方法,大家可以自行百度。

现在,需要把数据库db1中所有表通过python脚本的方式全部导入到数据库db2中,具体命令如下:

# 先导出,不包含 USE db1 类似的语句,下面USER和PASS请自行替换
subprocess.call('mysqldump -h localhost -uUSER -pPASS db1 --no-create-db > /home/db1.sql', shell=True)

# 导入到 db2 中
subprocess.call('mysql -h localhost -uUSER -pPASS db2 < /home/db1.sql', shell=True)

命令一中,PASS后面直接带上数据库名,避免导出的sql文件中包含USE db1这样的语句,否则导入的时候会自动切换成db1,而不是我们希望的db2。同理,命令二中PASS后面直接带上db2,表示登录后直接使用db2,不需要使用USE db2来指定数据库了,所以数据能够成功导入。

标签: mysql, mysqldump

添加新评论