繁体   English   中英

mysqlbinlog:未知变量'default-character-set = utf8mb4'

[英]mysqlbinlog: unknown variable 'default-character-set=utf8mb4'

启动 mysqlbinlog 时返回错误:

root@utils # mysqlbinlog --start-datetime="2021-12-05 13:13:00"
mysqlbinlog: unknown variable 'default-character-set=utf8mb4'

如何解决?

也许,它与 /etc/mysql/mariadb.conf.d/50-client.cnf 的内容有关,即:

[client]
# Default is Latin1, if you need UTF-8 set this (also in server section)
default-character-set = utf8mb4

# socket location
socket = /var/run/mysqld/mysqld.sock

# Example of client certificate usage
# ssl-cert=/etc/mysql/client-cert.pem
# ssl-key=/etc/mysql/client-key.pem
#
# Allow only TLS encrypted connections
# ssl-verify-server-cert=on

# This group is *never* read by mysql client library, though this
# /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
# client anyway.
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]

服务器配置为:

Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1-log Ubuntu 20.04

将 default-character-set=utf8 行移到 my.cnf 文件的 [mysql] 或 [mysqld] 部分下方。 mysqlbinlog 读取 [client] 下的变量,但不读取 [mysql]。 您的命令行客户端和/或浏览器读取配置文件的 [client] AND [mysql] 部分。

顺便说一句,如果您使用 --set-charset=charset_name (>5.0.23) 选项,mysqlbinlog 可以采用指定的字符集。

来源: https://forums.mysql.com/read.php?103,189835,192421#gms

字符集服务器 = utf8mb4
或者
mysqlbinlog --no-defaults mysql-bin.000001

另一种解决方案是在失败选项中添加松散_前缀:

[client]
loose-default-character-set=utf8mb4

如果不支持该选项,松散前缀会强制命令行工具不抛出错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM