最新消息:

Mysql如何克隆数据库

数据库 ksharpdabu 1534浏览 0评论

使用场景
需要将数据库db1克隆一份

 

方式1:使用sql文件
先用mysqldump将db1导出为sql文件,然后再导入新的数据库db2。

先创建db2数据库:
mysql> CREATE DATABASE db2

创建后,可以用 show databases 查看是否创建成功。
mysql> show databases ;

再将db1导出为sql文件:
mysqldump -u root -p db1 > D:\Database_backup\db1.sql
Enter password: **********

最后将sql文件导入到db2:
mysql -u root -p db2 < D:\Database_backup\db1.sql
Enter password: **********

方式2:使用mysqldump+pipe
官方文档:https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html

直接用 pipe的方式,省去手动导出导入sql的步骤。

情况1:如果db1和db2在同一个mysql实例上
mysqldump -u <user name> –password=<pwd> <original db> | mysql -u <user name> -p <new db>
示例:
mysqldump -u root –password=12345 db1 | mysql -u root -p12345 db2

将本机数据数据库拷贝到远程服务器上的数据库中:
mysqladmin create DB_name -u DB_user –password=DB_pass && \
mysqldump -u DB_user –password=DB_pass DB_name | \
mysql -u DB_user –password=DB_pass -h DB_host DB_name

将远程数据库拷贝到本机数据库:
如果网络慢,可以加上–compress参数,压缩数据提升速度
mysqldump -h ‘other_hostname’ –compress db_name | mysql db_name

还可以使用压缩包的方式来克隆,详细的可以见官方文档.

 

方式3:使用mysqldbcopy
这个需要单独安装mysqldbcopy
mysqldbcopy \
–source=root:your_password@localhost \
–destination=root:your_password@localhost \
db1:db2

参考:
https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html

转载请注明:大步's Blog » Mysql如何克隆数据库

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址