0. 写在前面
以下内容仅为个人的经验谈,没有任何学术性,可能存在一些翻译不准确的情况,仅作为一些问题的解决办法参考。
1. 基本步骤
- 用管理员模式打开cmd
- 登录数据库
mysql -u <user> --local-infile=1 -p
user需替换为数据库的用户名
-local-infile=1的作用是修改数据库的本地录入权限,允许从本地文件中导入数据
- 输入密码
- 切换当前使用的集合
use <schemas>
schemas需替换为数据库的集合名称
- 提升权限
set global local_infile = 1;
- 载入本地数据
load data local infile '<filelocate>' into table <shcemas.table>
fields terminated by ',';
载入本地csv文件的数据到指定数据表。
文件地址可以通过把文件直接拖入cmd里自动填写地址,但记得要把原本的反斜杠(\)改为正斜杠(/)。(本方法在WIN10下失效)
第二句的意思是以英文逗号(,)作为字段的分割依据。
2. 常见报错及解决方法
1. mysql报错error 1064
原因:语法错误
解决步骤:检查语法
2. mysql报错error 3948
原因:因权限不足,文件导入失败
解决步骤:
- 查看本地文件录入权限是否有打开
show variables like 'local_infile';
- 如果value=off,则输入以下代码
set global local_infile = 1;
3. mysql报错error 2068
原因:考虑为mysql8.0的安全等级较高
解决步骤:
- 退出mysql
- 使用提高等级的登录方式
mysql -u root --local-infile=1 -p
4. 在命令行输入net start mysql,显示服务名无效
原因:安装的是8.0的版本,所以服务名称不同。
解决步骤:输入
net start mysql80
5. 在命令行输入mysql -u root -p,显示不是内部或外部命令
原因:没有设置环境变量。mysql8.0安装时环境变量默认设置的是shell的安装地址,因此需要环境变量的path里新增sever的安装地址。
解决步骤:
- 右键计算机-属性-高级系统设置-环境变量
- 新建或修改PATH变量,值设置为mysql server的bin文件夹
- 一般默认为C:\Program Files\MySQL\MySQL Server 8.0\bin
- 点击确定,关闭系统属性窗口
版权声明:本文为joeyoung18原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。