Azure MySQL用户无LOAD DATA INFILE权限,报1045错误求助
Azure MySQL 执行LOAD DATA INFILE权限问题解决指南
Azure Database for MySQL和本地MySQL存在权限差异,直接使用LOAD DATA INFILE会因无法访问服务器文件系统失败,LOAD DATA LOCAL INFILE报错则是客户端/服务器端未开启对应配置,以下是针对性解决步骤:
开启服务器端LOCAL_INFILE参数
登录Azure门户,找到你的MySQL服务器,进入「服务器参数」页面,搜索local_infile,将其值设置为ON,保存后等待服务器重启生效。这是Azure MySQL允许本地文件导入的前提。配置客户端LOCAL_INFILE开关
- SQL WorkBench:新建/编辑连接时,切换到「Advanced」标签,找到
local_infile选项并设置为ON;连接成功后也可执行SET SESSION local_infile = 1;临时开启会话级参数。 - Azure Data Studio:创建连接时,在「连接参数」中添加
local_infile=1和AllowLoadLocalInfile=true两个键值对;连接后执行SET SESSION local_infile = 1;确认生效。
- SQL WorkBench:新建/编辑连接时,切换到「Advanced」标签,找到
使用正确的LOCAL导入语法
确保文件路径是本地客户端的绝对路径,示例命令(适配带表头的CSV):LOAD DATA LOCAL INFILE '/Users/xxx/Documents/large_data.csv' INTO TABLE target_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;注意Azure MySQL权限限制
Azure托管MySQL不支持授予FILE权限,也不允许服务器端LOAD DATA INFILE(无服务器文件系统访问权),无需尝试GRANT ALL这类本地MySQL操作,专注于LOCAL配置即可。
内容的提问来源于stack exchange,提问作者Caleb Carson
相关产品推荐
相关产品推荐

