在做数据备份的时候,MySQL中有很多数据库,利用navicat等客户端进行数据库逐个导出时,会特别慢。
那么我们做大量数据备份转移时,有两种办法:
- 利用 mysqldump 命令一次导出所有数据库;
- 在两台服务器上安装相同版本的MySQL,然后把数据目录整个复制过去。
方法一:
关于mysqldump的命令用法可以参考:mysqldump命令导入导出数据库方法与实例汇总
这里要导出所有的库,用到的是:
mysqldump -u root -p --all-databases > /usr/alldb.sql
方法二:
在MySQL中,我们会创建很多数据库、表等数据信息。那么这些数据内容存储到哪里了?
当我们需要对这些数据文件进行直接操作的时候,也需要知道文件的存放地址,直接对数据文件进行操作会更加高效。
在MySQL命令行中,输入如下命令:
show global variables like "%datadir%";
从上图可看出,数据库数据目录文件就存在 /usr/logdata/data/ 该目录下。
cd /usr/logdata/
du -sh *
第二句命令可查看 logdata 文件夹下文件或目录的大小(不包括子目录)。
然后直接将需要的数据文件利用 source 命令进行复制传输就好了。