背景
大概已经有半年没用SQL了,最近因为一些契机又重新下载了MySQL Server并且第一次接触到需要将Excel文档导入MySQL数据库的需求。但在实施的过程中,总是遇到各种各样导入失败的问题,折腾了一个晚上才得以解决,也想趁机总结下我所遇到的主要问题以及解决方法,希望可以帮助到拥有同样困惑的小伙伴们。(以下代码版本为WIN10,非IOS系统)
准备工作 - 启动MySQL
我事先在MySQL Server官方网站上下载了 MySQL 8.0版本的安装压缩包
。(这也是后面让人头疼的主要原因)
1.自建 my.ini
配置文件
如果是通过这个版本的压缩包来安装MySQL的话,安装后MySQL的根目录下是没有配置文件my.ini
的,需要在MySQL的根目录下自行创建一个名为imy.ini的txt文件,然后在文件中输入一下参数设置内容。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.6.33-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.6.33-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
但是由于文件的格式是txt,如果不把其转换为配置文件格式,后续在里面修改删减配置参数后是没有效果的。
2.以管理员身份打开cmd,进入MySQL根目录下的bin,初始化,生成data文件夹。
### 进入bin
C:/ >cd MySQL/bin
C:/MySQL/bin >mysqld --initialize-insecure (建议使用,不设置root密码)
3.安装MySQL,安装成功后会出现successful的字样
>mysqld -install
4.启动MySQL
### 启动服务器
[root@localhost /]> net start mysql
### 进入MySQL
mysql> mysql -u root -p
问题 - 无法使用LOAD DATA (LOCAL) INFILE 语句
进入MySQL之后,我们就要开始正式导入Excel数据了。首先我想先讲讲导入Excel数据表的基本逻辑。
进入database-> 创建一张表用来装数据 -> 将外来的Excel文件里的数据导入这张表
1.创建新的database (如果你需要将这张表放在一个新的database里的话)
DROP DATABASE IF EXISTS `recipes