执行sql脚本报错ERROR 1366 (HY000)解决方法:额外的命令参数要加上这句“--default-character-set=utf8mb4“

本文探讨了技术专家在内容社区领域的角色,分析了IT技术如何提升内容管理效率,以及技术进步对社区互动和内容创作的影响。

 

--default-character-set=utf8mb4

ERROR 40321 (HY000) at line 2: Collection is truncated [2025-12-02 16:00:03] 错误:SQL执行失败!请检查SQL文件语法或数据库连接 [2025-12-02 16:00:04] 脚本运行结束时间:2025-12-02 16:00:03 [2025-12-02 16:00:04] ==================================== 同步结束 ==================================== [2025-12-02 16:00:04] 脚本退出,已清理锁定文件 #!/bin/bash SOURCE_HOST="10.20.18.246" SOURCE_PORT="3306" SOURCE_USER="ah3400tjfx" SOURCE_PASS="ah@4286fx!%=3" SOURCE_DB="" TARGET_HOST="10.20.18.246" TARGET_PORT="3306" TARGET_USER="ah3400tjfx" TARGET_PASS="ah@4286fx!%=3" TARGET_DB="ah3400fxdb" TARGET_TABLE="cxmrjkbb" # 脚本运行配置 SQL_FILE="/home/.ltf/.asl/.chexian/.sql/.cxmrjkbb.sql" # 外部SQL文件路径 LOG_FILE="/home/.ltf/.asl/log/cxmrjkbb.log" # 日志文件路径 LOCK_FILE="/home/.ltf/.asl/tmp/cxmrjkbb_sync.lock" # 并发控制锁定文件 ############################################################################## # 核心函数与逻辑 ############################################################################## # 日志输出(带时间戳) log() { echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" >> ${LOG_FILE} } # 前置检查 if [ ! -f ${SQL_FILE} ]; then log "错误:SQL文件不存在!路径:${SQL_FILE}" echo "SQL文件不存在,请检查路径是否正确" exit 1 fi if [ -f ${LOCK_FILE} ]; then log "错误:脚本已在运行中,避免并发执行(锁定文件:${LOCK_FILE})" exit 1 fi # 创建锁定文件,退出时自动清理 touch ${LOCK_FILE} trap "rm -f ${LOCK_FILE}; log '脚本退出,已清理锁定文件'" EXIT ############################################################################## # 执行SQL同步 ############################################################################## log "==================================== 同步开始 ====================================" log "SQL文件路径:${SQL_FILE}" log "目标表:${TARGET_DB}.${TARGET_TABLE}" log "开始执行SQL文件..." # 读取SQL文件并执行(适配外部文件,保留原SQL逻辑) mysql --host=${TARGET_HOST} --port=${TARGET_PORT} --user=${TARGET_USER} --password=${TARGET_PASS} \ --default-character-set=utf8mb4 -e " REPLACE INTO ${TARGET_DB}.${TARGET_TABLE} ( comcode, comname, qkqjbf, jycjbf, xzjgjqx, xzjgsyx, cljgxc, cljgjc, qbyfdy, qbyffdy, jycxzjgjqx, jycxzjgsyx, xcqb, xccs, xcxlc, xcqt, jcqb, jcxt, jccs, jcxlc, jchlw, jcqt, jycdyxc, jycdyjc, jycfdyxc, jycfdyjc, fyykdyxc, fyykdyjc, fyykfdyxc, fyykfdyjc, jyghc, operatedate, refreshtime ) $(cat ${SQL_FILE}) " 2>> ${LOG_FILE} # 结果校验 if [ $? -eq 0 ]; then log "执行成功:数据已覆盖写入目标表" SUCCESS_FLAG=1 else log "错误:SQL执行失败!请检查SQL文件语法或数据库连接" SUCCESS_FLAG=0 fi # 输出运行结束信息 log "脚本运行结束时间:$(date +'%Y-%m-%d %H:%M:%S')" log "==================================== 同步结束 ====================================" if [ ${SUCCESS_FLAG} -eq 1 ]; then echo "✅ 脚本执行成功!日志路径:${LOG_FILE}" exit 0 else echo "❌ 脚本执行失败!请查看日志:${LOG_FILE}" exit 1 fi
12-03
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3446013570@qq.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值