【无标题】mysql 普通用户连接报错: MySql server has gone away

1、mysql 普通用户连接报错: MySql server has gone away

2、进入mysql错误日志位置查看输出日志显示错误为:

[Warning] [MY-013130] [Server] Aborted connection 47 to db: 'unconnected' user: 'tjcx' host: '10.195.11.4' (init_connect command failed; diagnostics area: MY-001273 - Unknown collation: 'server')

错误原因: cd /etc/my.cnf:

数据库配置文件中参数配置错误:

应该将配置改成 init_connect = "SET NAMES utf8mb4 COLLATE utf8mb4_general_ci"

关于MySQL的初始化连接设置。SET NAMES utf8mb4 COLLATE server=utf8mb4_general_ci这一句是用于设置MySQL连接的字符集和排序规则。

在正常情况下,这个语句应该在连接MySQL数据库后执行。它告诉MySQL你希望使用的字符集和排序规则。utf8mb4是字符集的名字,utf8mb4_general_ci是排序规则的名字。

但是,这个语句中有一个小错误。在指定排序规则时,server=utf8mb4_general_ci是不正确的。你可能想要使用COLLATE utf8mb4_general_ci来指定排序规则。因此,正确的语句应该是:

复制代码
sql`SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci';`

你可以在连接到MySQL后,直接运行这条语句来设置字符集和排序规则。如果你是在一个脚本中设置这个,那么应该在你的脚本开始处运行这个语句。如果你是在命令行中设置这个,那么应该在连接MySQL后,立即运行这个语句。

相关推荐
人才程序员23 分钟前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯33 分钟前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术39 分钟前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱1 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite
指尖下的技术2 小时前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql
Ciderw2 小时前
MySQL为什么使用B+树?B+树和B树的区别
c++·后端·b树·mysql·面试·golang·b+树
数据馅2 小时前
python自动生成pg数据库表对应的es索引
数据库·python·elasticsearch
峰子20122 小时前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
胡耀超3 小时前
CentOS 7.9(linux) 设置 MySQL 8.0.30 开机启动详解
linux·mysql·centos
浏览器爱好者3 小时前
如何使用MongoDB进行数据存储?
数据库·mongodb