当用命令导入csv文件时提示错误[Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
安装之后没有my.ini配置文件怎么办,因为自己安装的是zip压缩版的mysql,所以再5.7之后就没有my.ini配置文件,所以有时候需要去自己创建一个叫my.ini的配置文件,但是特别
要注意:如果你之前的数据库中有非常重要的表,那一定要先备份好,之后再去删除data和Mysql服务,具体的步骤如下:
系列目录
一、安装MySql
二、安装并破解Navicat
三、没有my.in配置文件怎么办
四、设置MySql的大小写敏感
五、重置MySql登陆密码
之前说过,Windows操作系统中,我们安装Mysql有两个选择:一是下载MSI点击运行,利用windows系统安装程序的方法按部就班的来安装;二是下载ZIP,解压出来就能立即使用。
在使用ZIP安装时,安装好之后默认是没有my.ini配置文件的:
当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小写敏感时,却找不到my.ini 配置文件。
虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会失效,配置会回归默认值,所以这种方式治标不治本。
具体的这种方式:还未解决???
这里提供了另一种方法,解决的基本思路是:先删除Mysql服务,然后自己新建一个my.ini文件,最后使用命令行重新初始化mysql服务,同时指定新建的my.ini作为服务默认的配置文件。
以下是详细步骤:
1. 删除MySql服务#
打开cmd(记得”使用管理员身份“打开),如果没有配置环境变量,请cd(切换目录)到mysql程序下的bin文件夹下(详细步骤参见第一章~):
运行命令:
D:\MySql\bin>sc delete MySql
"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。
删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql服务,说明已经已经删除成功。
如果还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了。
2. 新建my.ini配置文件#
在mysql程序的根目录下,新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
其中basedir 和 datadir 根据实际MySql安装的位置进行修改。
3. 重新生成data文件#
删除之前生成的data文件,如果有重要的数据表,请先备份好。
回到cmd,重新生成data文件。运行:
D:\MySql\bin>mysqld --initialize-insecure --user=mysql
该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:
4. 重新安装mysql服务,同时绑定my.ini配置文件#
安装MySql服务,同时设置绑定my.ini配置文件。命令:
D:\MySql\bin>mysqld --install "MySql80" --defaults-file="d:/mysql/my.ini"
“MySql80”是服务名称,80表示8.0版本,当然,也可以自己取别的名字。
”..\my.ini“是新建的配置文件的位置,也可以写成绝对路径”D:\MySql\my.ini“。
如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务:
5. 启动服务#
这里有两种启动服务的方式:1)服务窗口启动;2)cmd启动
5.1 服务窗口启动#
直接右击服务项,选择启动:
5.2 cmd命令启动#
命令:
D:\MySql\bin>net start mysql80
等待20秒左右,如果启动成功,是这样的:
如果不成功:
这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。
6. 重新设置密码#
删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。
6.1 登陆mysql#
命令:
D:\MySql\bin>mysql -u root -p
这时密码为空,不需要填写,直接回车:
如果这里没有登陆成功,请移步下一章”重置MySql密码“~
6.2 修改root用户密码#
(敲黑板)这里有个需要注意的地方,在8.0之后的版本,修改root用户密码的命令是:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
之前的版本是:
update mysql.user set authentication_string=password("你的密码") where user="root";
我这里安装的是8.0.11,所以是第一个:
6.3 退出MySQL#
命令:
mysql> exit
6.4 使用修改后的密码重新登陆#
这里的命令和之前是一样的,就不写了,密码记得要填刚才设置的:
现在已经成功绑定了my.ini配置文件了,如果需要自定义配置,可以打开文件进行相应的配置设置,修改后重启服务即可。
如果修改后,重启服务报错,如下图:
有一种可能:你修改的配置与服务初始化时的配置有冲突,这时只能从头开始,在初始化的时候绑定my.ini文件 。
下一章要讲的的“设置MySql大小写敏感”就是~
当用命令导入csv文件时提示错误[Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement的更多相关文章
- 解决Gephi导入csv文件时提示“边表格需要一个包含节点标号‘源’和‘目标’列” 问题的两个方案
1.将csv文件在Excel中打开,并重新保存为csv. 2.将csv文件导入到sqlite,使用sqlite作为数据来源. 标准格式如下
- source命令 导入.sql文件时,中文乱码 或者是注释乱码
1.source命令 导入.sql文件时,中文乱码 或者是注释乱码 首先进入dos命令,进入mysql数据库,之后use 数据库:之后查看你的mysql数据库编码 如下命令:模糊查询变量charact ...
- Netbeans打开包括中文文件时提示错误
Netbeans打开包括中文文件时提示错误.在Netbeans里找了半天没找到怎么设置,最后发现要改动Netbeans的配置文件才干解决. 编辑C:\Program Files\NetBeans 8. ...
- mysqldump 使用--tab=path参数时提示mysqldump: Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE'
报错: [root@zedu test]# mysqldump -h127.0.0.1 -uroot -p --single-transaction --add-drop-database --tab ...
- 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题
在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mys ...
- mysql数据库导入sql文件时提示“Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes”解决办法
向mysql数据库中导入sql文件时,如果文件过大(几百M),会提示"Error Code: 1153 - Got a packet bigger than 'max_allowed_pac ...
- python导入csv文件时,出现SyntaxError
背景 np.loadtxt()用于从文本加载数据. 文本文件中的每一行必须含有相同的数据. *** loadtxt(fname, dtype=<class 'float'>, commen ...
- Mac上csv导入mysql提示错误[Error Code] 1290 - The MySQL server is running with the --secure-file-priv option解决办法
1.进入mysql查看secure_file_prive的值 $mysql -u root -p mysql>SHOW VARIABLES LIKE "secure_file_priv ...
- mysql提示错误[Error Code] 1290 - The MySQL server is running with the --secure-file-priv option解决办法
1.进入mysql查看secure_file_prive的值 $mysql -u root -p mysql>SHOW VARIABLES LIKE "secure_file_priv ...
随机推荐
- H5_0017:通过元素自定义属性值获取元素对象,并获取属性值
// 通过元素的属性值查找对象 // document.querySelectorAll("[data]").forEach(function(e) ...
- 一道CTF针对XXE漏洞的练习
题目链接:http://web.jarvisoj.com:9882/ 目的很明确获取/home/ctf/flag.txt的内容 一般读取目标机的本地文件都会用到file协议. 思路: 那么思路一:文件 ...
- 栈和队列----设计一个有getMin功能的栈
设计一个有getMin功能的栈 设计一个具有getMin功能的栈,可以返回栈中的最小的元素,可以使用现有的栈的数据结构,要求pop/push/getMin操作的时间复杂度是O(1). package ...
- Linux下用Bash语言实现输出最大值的功能
题目链接: 题目描述 编写一个程序,输入a.b.c三个值,输出其中最大值. 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 30 复习下Linux ...
- 机器学习作业(六)支持向量机——Matlab实现
题目下载[传送门] 第1题 简述:支持向量机的实现 (1)线性的情况: 第1步:读取数据文件,可视化数据: % Load from ex6data1: % You will have X, y in ...
- 多线程启动selenium,报NameError: name '__file__' is not defined
将__file__加上单引号就解决了: # 获取当前文件名,用于创建模型及结果文件的目录 file_name = os.path.basename('__file__').split('.') ...
- 回形数字矩阵(Java)
将矩阵从里到外分为多层,每一层都是一个口字型数字序列,方向都是顺时针/逆时针,由此我们可以将问题分解为相同的子问题来解决 回形矩阵概述 ☃ 回形矩阵有n行n列 ☃ 数字按顺时针或者逆时针递增 **使用 ...
- set的使用
集合是Python的一种数据类型,集合是一个可变容器.常用于列表的去重. 什么是集合 集合是一个可变容器 集合中的数据对象都是唯一的(不可重复) 集合是无序的存储结构 集合是可迭代对象 集合内的元素是 ...
- linux常用命令和字符串乱码
top :动态实时显示cpu.内存.进程等使用情况(类似windows下的任务管理器) ps aux 查看所有进程 ps aux|grep java 查看java进程 kill -9 进程号 :强制杀 ...
- LaTeX 文字带边框
1.使用framed宏包 \usepackage{framed} 可以使用verb|...|和verbatim环境而不使用cprotect宏包的cprotect命令 \begin{framed} \v ...