MySQL快速复制数据库的方法

jopen 9年前

某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。

假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:

1. 首先创建新的数据库newdb

#mysql   -u root -ppassword  mysql>CREATE   DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

2. 使用mysqldump及mysql的命令组合,一次性完成复制

#mysqldump   db1 -u root -ppassword --add-drop-table | mysql newdb -u root -ppassword

(注意-ppassword参数的写法:-p后面直接跟密码,中间没有空格)

以上是在同一台MySQL服务器上复制数据库的方法。如果要复制到远程另一台MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。

#mysqldump   db1 -uroot -ppassword --add-drop-table | mysql -h 192.168.1.22 newdb -uroo