mysql无法导入导出的解决方法

mysql无法导入导出的解决方法

出现这个错误是因为没有给数据库指定写出文件的路径或者写出的路径有问题。
首先使用下面的命令 show variables like ‘%secure%’; 查看数据库的存储路径。如果查出的 secure_file_priv 是 null 的时候就证明在 my.ini 文件里面没有配置写出路径。
然后这里简要介绍一下secure_file_priv的设置含义:

secure_file_priv=null 不允许csv文件的导入导出 
 
secure_file_priv=xxx csv文件导入导出到某路径 
 
secure_file_priv=/ csv文件可导入到任意路径

参考了很多网上的资料,绝大部分都是这样说的: 首先使用下面的命令 show variables like ‘%secure%’;
查看数据库的存储路径。如果查出的 secure_file_priv 是 null 的时候就证明在 my.ini 文件里面没有配置写出路径。

这时候就可以在 mysql.ini 文件的 [mysqld] 代码下增加 secure_file_priv=E:/TEST 再重启
mysql 就可以了。然后在导出的地址下面写上刚才配置的这个地址 eg: select * from tb_test into
outfile “E:/TEST/test.txt”;就可以了。

其实这个方法是正确的,没有任何问题,但是我在设置的时候却一直没有成功,这个问题也耗费了我2、3个小时的时间,最后发现了原来的my.ini文件没有放对路径,这里是具体解决方案:
my.ini配置文件
[client]

# 设置mysql客户端默认字符集
default-character-set=gbk

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

然后,将my.ini配置文件保存到与bin文件同目录下,并将编码设置为ANSI,这里要特别注意,因为默认是utf-8。然后退出mysql,重新启动mysql,问题就解决了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值