mysqldump导入导出百万级数据解决方案

两条语句:

我有一个叫做qizhi的数据库,里面有个students表大概100多万数据,进入mysql后,

先use 你选择的数据库

再输入select * from 你的表 into outfile 导出的路径

下图:

发现权限不够,那么怎么办呢,这个时候退出mysql进到服务器

执行 chmod -R 777 某个你需要授权的目录

再执行

注意项:

在mysql执行load data infile和into outfile命令都需要在mysql开启了secure_file_priv选项,可以通过show global variables like %secure%;查看mysql是否开启了此选项,默认值Null标识不允许执行导入导出命令。通过vim /etc/my.cnf修改mysql配置项,将secure_file_priv的值设置为空:

 
  1. [mysqld]
  2. secure_file_priv=
  3. 重启mysql服务 systemctl restart mysqld

接下来如果我们想把这个数据迁移到其他服务器,很简单

  1. 复制数据文件到目标服务器
  2. zip studens.zip /home/studens.sql
  3. scp studens.zip root@ip:/home/

在目标数据库导入文件

  1. unzip /home/studens.zip
  2. 一个source就可以执行 source /home/studens.sql
经验分享 程序员 微信小程序 职场和发展