You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本更新MySQL遇1044错误:文件名后缀误作数据库名

问题原因与解决方法

报错显示脚本错误将mp4当作数据库名,核心是脚本里的MySQL命令参数逻辑错误,把文件名的后缀(或文件名本身)误传成了数据库名参数,而非你配置的sql_vestelrecog_。常见场景及修复方式如下:

常见错误场景及修复

  • MySQL命令参数顺序错误
    若脚本用类似mysql mp4 your_file.json的命令,MySQL会把第一个非选项参数mp4识别为数据库名。正确写法应明确指定目标数据库:

    # 直接导入JSON文件到指定数据库
    mysql -u sql_vestelrecog_ -p sql_vestelrecog_ < your_json_file.json
    

    或者用-e参数执行导入逻辑时,确保在目标数据库上下文里操作:

    mysql -u sql_vestelrecog_ -p sql_vestelrecog_ -e "LOAD DATA INFILE '/path/to/your/file.json' INTO TABLE target_table;"
    
  • 变量赋值错误,误将文件名后缀作为数据库名
    若脚本里有提取文件名后缀的逻辑(比如DB_NAME=${file##*.}),会把mp4赋值给数据库名变量。直接将数据库名写死为正确值即可:

    DB_NAME="sql_vestelrecog_"
    
  • mysqlimport命令顺序颠倒
    用mysqlimport导入时,语法是mysqlimport [选项] 数据库名 文件名,如果把文件名放在数据库名位置,会导致MySQL把文件名(或后缀)当成数据库名。正确写法:

    mysqlimport -u sql_vestelrecog_ -p sql_vestelrecog_ /path/to/your/file.json
    
  • 文件名含特殊字符未加引号
    如果文件名有空格或特殊字符,shell会将其拆分为多个参数,可能把mp4单独解析为数据库名参数。给文件名加双引号即可:

    mysql -u sql_vestelrecog_ -p sql_vestelrecog_ < "video_data.mp4.json"
    

内容的提问来源于stack exchange,提问作者Yagmur CA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:37:34