当数据库需要在不同架构之间传输时,可以使用 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
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