将 MySQL 数据库复制到另一台机器


当需要在不同的架构之间传输数据库时,可以使用“mysqldump”创建文件。此文件将包含 SQL 语句。文件传输可以在一台机器与另一台机器之间进行,并且此文件可以用作“mysql”客户端的输入。

在两台机器之间移动数据库

在两台机器之间移动数据库的一种方法是在数据库所在的机器上执行命令 -

mysqladmin −h 'other_hostname' create db_name
mysqldump db_name | mysql −h 'other_hostname' db_name

通过缓慢的网络从远程机器复制数据库

如果需要通过速度缓慢的网络从远程网络复制数据库,则可以执行以下命令 -

mysqladmin create db_name
mysqldump −h 'other_hostname' −−compress db_name | mysql db_name

Learn MySQL in-depth with real-world projects through our MySQL certification course. Enroll and become a certified expert to boost your career.

MySQL 转储

转储可以存储在文件中,稍后可以将其传输到目标机器。下一步是将文件加载到数据库中。让我们举一个需要将数据库转储到源机器上的压缩文件的例子。如下所示 -

mysqldump −−quick db_name | gzip > db_name.gz

包含数据库内容的文件需要从目标机器传输到源机器。需要执行以下命令 -

mysqladmin create db_name
gunzip < db_name.gz | mysql db_name

除此之外,“mysqldump”和“mysqlimport”也可以用于传输数据库内容。对于包含大量数据的数据库,“mysqldump”和“mysqlimport”可以一起使用以提高操作速度。“DUMPDIR”表示存储“mysqldump”输出的目录的完整路径名。

首先,创建一个目录以便可以转储输出文件和数据库内容。可以使用以下命令完成此操作 -

mkdir DUMPDIR
mysqldump −−tab=DUMPDIR
db_name

然后,可以将文件从 DUMPDIR 目录传输到目标机器上的任何相应目录。下一步是将文件加载到 MySQL 中。可以使用以下命令完成此操作 -

mysqladmin create db_name # create database
cat DUMPDIR/*.sql | mysql db_name # create tables in database
mysqlimport db_name
   DUMPDIR/*.txt # load data into tables

更新于: 2021年3月8日

1K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告