如何解决 MySQL连接报错 "panic: Error 1193: Unknown system variable 'characterEncoding 的问题?

数据库关系型数据库技术服务知识库
问题描述

如何解决 MySQL连接报错 "panic: Error 1193: Unknown system variable 'characterEncoding 的问题 ?

问题分析

不同的 SDK 应用中的连接字符串参数是不一样的,客户使用的是 GO 的 GORM 去连接的数据,而连接字符串中确实使用的 JAVA Connector/J 的参数 characterEncoding 去连接的数据库。

解决方案
  1. JAVA 指定字符集的正确示例如下:
jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false
  1. GORM 的正确示例如下:
import (
  "gorm.io/driver/mysql"
  "gorm.io/gorm"
)

func main() {
  // refer https://github.com/go-sql-driver/mysql#dsn-data-source-name for details
  dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
  db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
}

如果需要配置其他连接参数,请根据实际生产业务情况调整

参考文档

[1] https://gorm.io/docs/connecting_to_the_database.html [2] https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

所属团队号:
相关资源
字节跳动 NoSQL 的实践与探索
随着 NoSQL 的蓬勃发展越来越多的数据存储在了 NoSQL 系统中,并且 NoSQL 和 RDBMS 的界限越来越模糊,各种不同的专用 NoSQL 系统不停涌现,各具特色,形态不一。本次主要分享字节跳动内部和火山引擎 NoSQL 的实践,希望能够给大家一定的启发。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论