提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、安装
- 就一条,下载页面里要找 MySQL Community Server,而不是
MySQL Installer for Windows
,这样才能找到64-bit最新版本!
二、导入import数据
1、mysqlimport.exe
该命令基本用法如下:
cmd> mysqlimport -u -p mydatabase mytable.txt
但是要正确导入数据,要检查以下几点:
- 使用的数据库用户是否有导入数据权限
- MySQL
secure-file-priv
选项如何配置,如果secure_file_priv=null
,则禁止导入导出文件;如果secure_file_priv="D:\SOME DIRECTORY\Uploads"
,则只允许在该目录下导入导出文件,且这个路径可以更改;secure_file_priv=""
,则导入导出没有限制
mysql> show variables like "secure_file_priv";
+------------------+---------------------------------------------+
| Variable_name | Value |
+------------------+---------------------------------------------+
| secure_file_priv | D:\Yun Sync\MySQL\MySQL Server 8.3\Uploads\ |
+------------------+---------------------------------------------+
1 row in set, 1 warning (0.00 sec)
- Windows CMD 终端中,正确使用命令参数,要根据数据文件实际情况指明
--fields-*
、--lines-*
等参数,注意其中路径反斜线、空格、双引号等特殊字符,下面这个是能够正确运行的,其中把反斜线换成正斜线,包裹字段的双引号变成\"
(外面不用再加双引号也可以),含空格的路径以及Windows换行符号都加上双引号:
cmd> mysqlimport -uroot -p --fields-optionally-enclosed-by="\"" --lines-terminated-by="\r\n" mydatabase "D:/Yun Sync/MySQL/MySQL Server 8.3/Uploads/mytable.txt"
-
mytable.txt 数据文件是否包含表头,如果包含,要在导入命令中增加参数
--ignore-lines=1
-
数据文件中日期类型字段格式是否规范,
mysqlimport.exe
prefer 日期格式为YYYY-MM-DD
(后面还可以有小时、分、秒),当数据文件中日期格式为MM-DD-YYYY
是不行的,不知道有没有合适参数能够在导入过程中转换成正确的形式,类似insert into
命令中可以使用的str_to_date
函数