问题描述:mysql运用load方式导入数据时报错ERROR 1290,如下所示:
数据库:5.7.21
1、异常重现
(root@127.1) [timsdb] 19:42:56 3> load data infile "/home/mysql/bak/leo_user_20230627.sql" into table tims_leo_user ;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
2、操作过程
$ mysql -uroot -h127.1 -p
mysql> use timsdb;
--执行导出
mysql> select * from leo_user into outfile "/home/mysql/bak/leo_user_20230627.sql" 

--传输文件
$ scp /home/mysql/bak/leo_user_20230627.sql root@192.168.133.170:/home/mysql/bak

--导入数据
root用户登录数据库:192.168.133.170(主)
# su - mysql
$ mysql -uroot -h127.1 -p
mysql> use timsdb;
mysql> load data infile "/home/mysql/bak/leo_user_20230627.sql" into table tims_leo_user ;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

3、异常原因
数据库写入的目录路径有问题.
4、解决方案
--目标端查询secure_file_priv参数配置
mysql> show variables like '%secure%';
+--------------------------+------------------+
| Variable_name            | Value            |
+--------------------------+------------------+
| require_secure_transport | OFF              |
| secure_auth              | ON               |
| secure_file_priv         | /mysql/bak/file/ |
+--------------------------+------------------+
3 rows in set (0.00 sec)

说明:如上所示,leo_user_20230627.sql文件未在/mysql/bak/file/目录下.
5、解决过程
$ mv /home/mysql/bak/leo_user_20230627.sql /mysql/bak/file/
$ mysql -uroot -h127.1 -p
mysql>  use timsdb;
mysql> load data infile "/mysql/bak/file/leo_user_20230627.sql" into table tims_leo_user ;

说明:成功导入数据.
6、注意事项
a、源端与目标端的表结构
b、导出数据是否存在乱码
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql