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

相关推荐
lsc_blog3 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘
FungLeo6 小时前
成为全栈·基础补充·数据库迁移与事务:数据结构怎样安全演进
mysql·postgresql·sqlite·数据一致性·数据库事务·数据库迁移·成为全栈
Zan10 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶11 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan12 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB12 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹13 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen13 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶14 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范