使用工具:
- WPS
- MySQL Workbench 8.0 CE
- MySQL 8.0 command Line Client
- 系统自带记事本
一、常规步骤
1. 创建表格
(以我创建的csv文件为例:)
2. 创建database + table
-
方法一:使用命令
-
方法二:使用图形化工具(此处使用的MySQL Workbench)
步骤1和步骤2的注意点
- 1 csv文件的表头 : 删除 / 将中文表头设置为英文
- 2 table的columns必须与csv的表头相同 如图
3. 打开MySQL 8.0 command Line Client
4. 登录
5. 检查database & table 的有效性
#显示所有数据库 验证存在我们所创建的数据库
#若不存在则重新创建
show databases;
#定位到该数据库并验证table的存在
#若不存在则重新创建
use testbase;
show tables;
6. 输入
show variables like '%secure%';
如果显示:secure_file_priv的Value内有数据
如下图 则需要修改
修改步骤:
-
打开C盘 --> 查看 --> 勾选隐藏的文件(显示隐藏的文件)
-
以管理员身份运行记事本
-
打开文件
位置:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
- 修改文件内容
- ctrl + C 保存修改
- 重新启动MySQL服务:
-
win + R --> 输入services.msc
-
找到MySQL服务
(下载时我更改成了MySQL 默认名称为MySQL80的则找到MySQL80)
-
右键点击 --> 重新启动
修改完毕:
重复步骤6 显示如下则证明修改成功
7. 输入
show variables like 'local_infile';
如果显示:local_Infile的Value为OFF
修改步骤
- 将其修改为on
set global local_infile=on;
修改完毕:
重复步骤7 显示如下则证明修改成功
- 导入文件
# 第一行 file_path为第一步创建的文件地址 file_name为具体的文件名称
load data infile 'file_path/file_name.csv'
# 第二行 table_name为导入的目的table名称
into table table_name
# 第三行 直接粘贴过去
fields terminated by ',' optionally enclosed by '"' escaped by '"'
# 第四行 直接粘贴过去
lines terminated by '\r\n';
二、问题与解决
1. secure-file-priv
- 具体报错内容
ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.
- 解决方法
检查步骤7是否正确执行
2. 找不到该文件或目录
- 具体报错内容
ERROR 29 (HY000):(OS errno 2 - No such file or directory)
- 解决方法
-
检查并修改整个文件路径的名称 不要出现中文
-
修改表格文件位置
放进Uploads文件夹内 如图:
-
修改 /
#直接复制文件路径得到的是:
C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\test2.csv
#将 \ 修改为 / 即得到:
C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/test2.csv
3. 其他问题(数据库相关)
若出现其他问题 如:
- MySQL服务无法正常重新启动
- MySQL command 8.0 Client Line无法正常打开
- 密码输入错误
- …
需要完全卸载并重新安装配置MySQL 详情参考文章:
完全卸载
-
打开C盘 --> 卸载这三个位置中的MySQL文件夹
-
打开控制面板 --> 程序 --> 程序与功能 --> 卸载MySQL相关程序
-
环境变量 --> 删除MySQL配置
(配置完毕后要一层层点击确定 否则无法保存修改)
重新安装以及后续配置
请参考这篇文章:
2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级)_mysql安装-CSDN博客
三、正确执行命令后的结果:
- 命令行显示:
- 图形化工具显示: