Error number: 4162; Symbol: ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS; SQLSTATE: HY000
Message: ‘%s’ is a user defined collation. User defined collations are deprecated and will be removed in a future release. Consider using a compiled collation instead.
MySQL Error 4162: ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS
错误说明
这是MySQL数据库系统抛出的一个警告,当数据库使用了过时并且可能不安全的用户定义排序时,就会出现这个错误。一般地,MySQL使用了功能有限但是安全性相对较高的UTF8和utf8mb4字符集排序,因此用户定义的排序可能会影响服务器的稳定性,或者与服务器的其他功能发生冲突。
常见案例
这个错误通常会出现在使用mysql的用户定义的排序时,比如用户自定义的拼音排序或者非Unicode排序,选择并设置了一些不是UTF8或/和utf8mb4格式的排序方法。
解决方法
为了解决这个问题,用户可以重新设置排序方法,使用UTF8或者utf8mb4排序而不是用户定义的排序,相关信息可以从终端查询,也可以外部获取相关信息,再重新设置排序。同时,还可以对导致这个错误的sql语句进行修改或者修复,比如改变其运行时语句的拼写或者更改建表的引擎,使用正确的字符集和排序规则。