【无标题】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后,立即运行这个语句。

相关推荐
你的微笑,乱了夏天31 分钟前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺42 分钟前
分布式系统架构:服务容错
数据库·架构
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain2 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship2 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站2 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
老王笔记2 小时前
GTID下复制问题和解决
mysql
装不满的克莱因瓶2 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
Lojarro4 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
梦想平凡4 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle