以下操作都需要mysql root用户登录,最好能先配置下环境变量,否则就在mysql 安装目录的bin目录下执行命令行 mysql 和mysqldump命令
一.mysql数据的导入,2种
1.mysql命令: 为登录mysql,只需要在安装了mysql的系统上执行即可;
mysql [-hlocalhost] [-p3306] -uroot -p 数据库名字 < 备份文件目录
mysql -uroot -p test_mybatis < D:/temDirectory/back20170613.sql
2.source 命令: 登录mysql客户端执行
source 文件目录
source D:/temDirectory/back20170613.sql
3.将txt文件导入数据库;
-- LOAD DATA LOCAL INFILE 导入的文件.txt INTO TABLE 表名
FIELDS TERMINATED BY 间隔符号
LINES TERMINATED BY 换行符 (字段1, 字段2);
LOAD DATA LOCAL INFILE 'c:/ProgramData/MySQL/MySQL Server 5.6/Uploads/out.txt' INTO TABLE `test`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n' (city_id, msisdn);
二.mysql数据库数据导出
SHOW VARIABLES LIKE '%secure%'; 命令,查看 secure_file_priv对应的值,把文件下载到对应值下面,此目录为可以导入和导出的目录
1.导出数据 .txt :;
SELECT
t.id,
t.msisdn
FROM
`test` t INTO OUTFILE fileName.tex FIELDS TERMINATED BY (间隔符号)',' LINES TERMINATED BY (回车换行)'\r\n';
SELECT
t.id,
t.msisdn
FROM
`test` t INTO OUTFILE 'c:/ProgramData/MySQL/MySQL Server 5.6/Uploads/out.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
2.导出数据为 xls
SELECT
t.id,
t.msisdn
FROM
`test` t INTO OUTFILE 'c:/ProgramData/MySQL/MySQL Server 5.6/Uploads/out.xls' ;
解决导出来的excel乱码问题,但是需要在Linux,Linux系统下 执行 一下命令
iconv -futf8 -tgb2312 -o out_GBK.xls out.xls
三.导入导出时,可能会遇到一些问题,需要进行设置,但是这个个设置需要以root用户登录
1. 设置max_allowed_packet含义:指代mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。
查看 max_allowed_packet命令:
SHOW VARIABLES LIKE '%max_allowed_packet%';
-- 设置数据包大小 200M =200*1024*1024;
set global max_allowed_packet=209715200 ;
2.mysql导出时的缓冲区
-- net-buffer-length 官方的解释就是通信时缓存数据的大小.最小4k,最大16M;
-- 设置 net-buffer-length
set global net_buffer_length=10000;
查看 net_buffer_length
show variables like '%buffer_length%' ;