目录
[2.2、load data infie(速度更快--针对单表)](#2.2、load data infie(速度更快--针对单表))
[编辑 导入](#编辑 导入)
一、用工具导出导入
Navicat(速度慢)

1.1、导入:
第一步:右键---->运行SQL文件

第二步:点击旁边三个点,找到sql文件放的位置,点击开始

共耗时:
可以发现55.7mb,花了30秒

1.2、导出表
第一步:右键点击转储SQL文件,选择要数据还是表结构

共耗时:
可以发现55.7mb,花了9秒

二、用命令语句导出导入
2.1、mysqldump速度快
一般公司用mysqldump,而不用load data infie,在公司用linux,没有工具Navicat
导出表数据和表结构
在mysql安装的所在地运行
第一步:找到mysql下载地,进入bin目录下,有mysqldump

第二步:在导航栏输入cmd,然后回车

第三步:输入,然后回车
语法:mysqldump -u用户名 -p密码 数据库表名 >数据库表名.sql
mysqldump -uroot -p123 xxx>xxx.sql


成功导入:没有间隙,密密麻麻
共耗时:
可以发现55.7mb,花了3秒

原始数据:有间隙整整齐齐

只导出表结构
语法:mysqldump -y用户名 -p密码 -d 数据库名 >数据库名.sql
导入
先进到数据库:mysql -uroot -p 然后输入密码进入
创建数据库:create database xxx;
使用数据库:use xxx;
设置编码集:set names utf8;
导出:source xxx.sql;
共耗时:
可以发现55.7mb,花了10秒
2.2、load data infie(速度更快--针对单表)
注:load data infie不是默认支持的
导出:
第一步:做一个设置----支持load data infie
查看设置,为null就是没设置
show variables like 'secure%'

第二步:找到my.ini文件,在末尾加上
secure_file_priv=C:前面代表权限,后面是导的位置在C盘
secure_file_priv=C:

第三步:重启服务

第四步:运行sql
语法:select * from 表名 into outfile '路径/文件名.sql'
select * from t_log into outfile 'C:/sql/t_log.sql'
共耗时:
可以发现55.7mb,花了0.719秒

报错:语法错误

导入
语法:load data infile '/文件名.sql' into table 表名(列名1.....);
要保留表结构才可以导出
load data infile 'C:/sql/t_log.sql' into table t_log(id,ip,userid,moduleid,content,createdate,url);
删除数据
右键清空表
共耗时:
可以发现55.7mb,花了6.91秒

三、备份(远程操作)
与上面2.1一样,只不过多个ip
导出
第一步:找到mysql下载地,进入bin目录下,有mysqldump

第二步:在导航栏输入cmd,然后回车

第三步:输入,然后回车
语法:mysqldump -h ip地址 -u用户名 -p密码 数据库名>数据库.sql
mysqldump -h 192.168.198.132 -uroot -p1234 654321>654321.sql
运行回车在那个目录就可以找到他了

导入
语法:
sourece 数据库表名.sql
四、思维导图总结
