解决出现secure_file_priv null的问题

在mysql安装目录的my.ini文件中的[mysqld]添加secure_file_priv = ' ';然后以管理员身份运行cmd,

进入mysql/bin停止mysql服务net stop mysql,重新启动mysql服务net start mysql,

登入

mysql mysql -u root -p enter password: password

执行命令show variables like '%secure%';查看secure_file_priv的值。

注:secure_file_priv 是设置允许 load data导入、导出的位置。

补充:MYSQL修改配置文件my.ini中secure_file_priv不生效问题.

MYSQL修改导出文件地址设置分为三种

secure_file_priv为NULL禁止导出文件secure_file_priv=""

secure_file_priv指定地址限制导出地址只能在此secure_file_priv=“D:/”

secure_file_priv为空可以导出到任意文件secure_file_priv=

而该配置只能在my.ini中修改,

之前遇到更改my.ini中的secure_file_priv=改成各种格式都无法生效

纠结我一晚上,经过研究才发现解决办法

管理员CMD进入DOS命令界面

输入mysql --help查看mysql读取文件的有限文件夹.

将修改好的my.ini文件移动到其中一个的文件夹.

net stop mysql,net start mysql重启服务,登录后show variables like “%secure%”; 就可以看到成功了

补充:解决mysql的配置文件my.ini不起作用

首先你要清楚运行的是哪个my.ini。

大多数my.ini都是位于mysql安装目录的根目录下。

在服务中查看你的mysql服务下启动的是哪个文件夹的配置文件

如图所示,去正确的目录下找运行的文件。

找到以后有两种解决方法:

推荐第二种把,简单粗暴。

1.把上图的路径改成你自己的my.ini的路径。(应该是要去注册表下面修改)

2.直接在上图的目录下去找到文件,把自己的配置文件拷贝到目录下或者直接在里面进行修改。

(ProgramData这个文件夹默认是隐藏的,在文件夹选项中勾选显示隐藏的文件夹就行了)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

时间: 2021-03-30

MySQL导出数据遇到secure-file-priv问题的解决方法

ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement. 对于上述错误,相信对于第一次执行 MySQL 数据导出操作的同学大都会遇见.至于为什么会遇到这个错误,原因很简单,那就是:我们不知道 MySQL 默认的导出目录是哪里,甚至都不知道 MySQL 对于数据的导出目录都有所限制.这其实很正常,因为我们不可能知道所有事

MySQL 线上日志库迁移实例

说说最近的一个案例吧,线上阿里云RDS上的一个游戏日志库最近出现了一点问题,随着游戏人数的增加,在线日志库的数据量越来越大,最新的日志库都已经到50G大小了,在线变更的时间非常长. 之前之所以没有发现,是因为之前一直没有进行过日志库的变更,但是随着业务的深入,需要增加一些游戏属性,要对之前的日志库进行变更,这样一来,长时间的维护窗口让业务方和DBA都望而却步,日志优化迫在眉睫. 首先看日志库的情况: 1.日志库中数据量大于5000w的大表有5张: 2.这5张表开量前每个月的数据量大概在2000w

MySQL source命令的使用简介

一个线上问题的引发的思考 今天上班的时候,开发的同事拿过来一个.zip的压缩包文件,说是要把里面的数据倒入到数据库里面,本来想着是成型的SQL,只需要复制粘贴一下,倒入到数据库中就可以了.拿到的时候,才发现问题没我想的那么简单,我首先看到的是一个压缩包,大概30多M,解压之后,发现里面的内容是个.sql的数据文件,文件的大小是645M左右,这么大的文件,要是手动粘贴上去,那简直太变态了.第一反应这个是不是mysqldump出来的备份数据,要是这样的话,就可以直接在命令行中进行恢复了.于是打开看了

MySQL too many connections错误的原因及解决

今天中午,开发测试环境的MySQL服务报了一个too many connections的错误,从问题上看,可能是连接池被打满了,导致所有的连接都不可用了. 在这种情况下,最为直接的办法就是重新设置最大连接数,查看my.cnf文件,里面关于连接数的参数有两个,分别是: max_connections:最大连接数 max_user_connections:用户最大连接数 其中,第一个参数确定的是该实例的最大连接数,第二个参数确定的是单个用户的最大连接数. 一般的线上环境,为了保险起见,一般这两个参数

MySQL 大表的count()优化实现

以下是基于我结合B+树的数据结构和对实验结果的推测作出的判断,如有错误,恳请指正! 今天实验了一下MySQL的count()操作优化, 以下讨论基于mysql5.7 InnoDB存储引擎. x86 windows操作系统. 创建的表的结构如下(数据量为100万): 首先是关于mysql的count(*),count(PK), count(1)哪个快的问题. 实现结果如下: 并没有什么区别!加上了WHERE子句之后3个查询的时间也是相同的,我就不贴图片了. 之前在公司的时候就写过一个select

MySQL 线上数据库清理数据的方法

01 场景分析 今天下午,开发的同事提来一个需求,需要在线上要删除一些数据记录,简单看了看数据的分布,大概是要删除数据表中的两千七百多万条记录,数据表的总记录是两千八百多万,也就是说,要删除的记录占了总记录的绝大部分比重,两千七百多万的数据记录,要是删除的话,使用的时间是相当长的,对线上的业务肯定会造成影响.这里将实际的应用案例简单重构为以下方法: mysql> select date,count(*) from test.tbl_a group by date; +----------+---

mysql创建表添加字段注释的实现方法

直接po代码和案例 #创建表的时候写注释 CREATE TABLE userinfo( id INT COMMENT '编号', uname VARCHAR(40) COMMENT '用户名', address VARCHAR(120) COMMENT '家庭住址', hobby VARCHAR(200) COMMENT '爱好' )COMMENT = '用户信息表'; #修改表的注释 ALTER TABLE userinfo COMMENT '用户信息资料表'; #修改字段的注释,注意:字段名

mysql创建表的sql语句详细总结

mysql创建表的sql语句 mysql建表常用sql语句: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权: revoke select,insert,update,delete om *.*

C#实现为类和函数代码自动添加版权注释信息的方法

本文实例讲述了C#实现为类和函数代码自动添加版权注释信息的方法,分享给大家供大家参考之用.具体方法如下: 以web项目为例: 一:给类加注释 1.在visual studio 的安装路径下 如:[盘符]:/Program files/Microsoft Visual Studio 8/Common7/IDE/ItemTemplates/web/cshare/2052/class.zip ,将里面的class.cs改为: /*------------------------------------

Mysql数据表中的蠕虫复制使用方法

mysql蠕虫复制,简单来说就是将查询出来的数据不断的新增插入到指定的数据表中.通常情况,mysql蠕虫复制时用来测试表压力. 下面我们就结合简单的实例给大家介绍mysql数据表中蠕虫复制的使用. 首先我们可以先查询下已有的money表中的信息字段,表信息如下图. 蠕虫复制的基本语法: insert into + 数据表名 +字段列表/* + from 数据表名; 使用示例语句: insert into money select null,name,money from money; 然后我们使

PHP获取mysql数据表的字段名称和详细信息的方法

首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 复制代码 代码如下: SHOW DATABASES                                //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name]                    //列出数据库数据表. SHOW CREATE TABLES tbl_name                    //导出数据表结构. SHOW TABLE STATUS [FR

Oracle数据库表中字段顺序的修改方法

前言 前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题.问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序.在修改顺序之前,我们先来看看Oracle数据库表中如何增加字段. 新增字段: 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 实例 创建表结构:

SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

SQL Server 2008"阻止保存要求重新创建表的更改"的错误的解决方案是本文我们主要要介绍的内容,情况是这样的:我们在用SQL Server 2008 建完表后,插入或修改任意列时,提示:当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改. 如果强行更改会出现以下提示:不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了"阻止保存要求重新创建表的更改&qu

mysql创建数据库,添加用户,用户授权实操方法

一.创建mysql数据库 1.创建数据库语法 --创建名称为"testdb"数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 二.创建用户 1.新建用户 --创建了一个名为:test 密码为:1234 的用户 create user 'test'@'localhost' identified by '1234'; 注意: 此处的"

MySQL多表之间字段的匹配实现代码

复制代码 代码如下: $sql=$empire->query("select table.title,lianxi,table.dizhi,table.id from table,table1 where table1.sid like concat( '%|',table.id,'|%') and table1.id=".$navinfor[id].""); while($r=$empire->fetch($sql)) { $title=$r['tit

MySQL数据表合并去重的简单实现方法

场景: 爬取的数据生成数据表,结构与另一个主表相同,需要进行合并+去重 解决:(直接举例) 首先创建两个表pep,pep2,其中pep是主表 CREATE TABLE IF NOT EXISTS `pep/pep2`( `id` INT UNSIGNED AUTO_INCREMENT, `no` VARCHAR(100) NOT NULL, PRIMARY KEY ( `id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 然后向pep中插入两条数据,pep2中插

MySQL分表和分区的具体实现方法

垂直分表 垂直分表就是一个包含有很多列的表拆分成多个表,比如表A包含20个字段,现在拆分成表A1和A2,两个表各十个字段(具体如何拆根据业务来选择). 优势:在高并发的情境下,可以减少表锁和行锁的次数. 劣势:在数据记录非常大的情况下,读写速度还是会遇到瓶颈. 水平分表 假如某个网站,它的数据库的某个表已经达到了上亿条记录,那么此时如果通过select去查询,在没有索引的情况下,他的查询会非常慢,那么就可以通过hash算法将这个表分成10个子表(此时每个表的 的数据量只有1000万条了). 同时