当需要在不同体系结构之间传输数据库时,可以使用“ 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
转储可以存储在文件中,以后可以传输到目标计算机。下一步是将文件加载到数据库中。让我们以一个示例为例,在该示例中,需要将数据库转储到源计算机上的压缩文件中。它显示如下-
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