
你可以根据页面报错信息快速对应问题,EyouCMS的MySQL兼容问题总共分三类,对应不同解决方法:
该问题不需要修改MySQL核心配置,只需要修改EyouCMS的数据库配置即可,步骤如下:
根据你的EyouCMS版本,找到对应路径的配置文件:
打开配置文件后,找到数据库连接配置数组中的params项,如果该项为空,直接替换为以下可复制代码:
如果配置文件中没有params项,直接把上述代码加到数据库连接配置数组的末尾即可;如果已经存在params,只需要添加最后一行set sql_mode的代码即可,保存文件即可。
如果修改EyouCMS配置后仍然报错,你可以修改MySQL本身的配置文件:
/etc/my.cnfmy.ini找到配置文件中[mysqld]节点,添加或修改sql_mode配置为:

保存后执行重启命令生效:
```bash CentOS/RHEL系统 systemctl restart mysqld Ubuntu/Debian系统 systemctl restart mysql ```该问题原因是MySQL8.0默认使用caching_sha2_password加密方式,PHP7.4以下版本不支持该加密方式,操作步骤如下:
在服务器终端输入以下命令,回车后输入MySQL的root密码即可登录:
```bash mysql -u root -p ```复制执行以下SQL,把占位符替换成你自己的数据库信息即可:
```sql -- 替换your_eyou_user为你的EyouCMS数据库用户名,your_password为你的数据库密码 -- 如果数据库只允许本地连接,把 '%' 改成 'localhost' ALTER USER 'your_eyou_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES; ```执行完成后配置就生效,不需要重启MySQL。
MySQL8.0默认排序规则为utf8mb4_0900_ai_ci,旧版EyouCMS不兼容,批量修改步骤如下:

如果你使用phpMyAdmin管理数据库,操作步骤为:
如果你使用命令行操作,先执行以下SQL生成批量修改语句,替换eyoucms_db为你的数据库名:
```sql SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') AS alter_sql FROM information_schema.tables WHERE table_schema = 'eyoucms_db'; ```把生成的所有SQL语句批量复制,再次执行就能完成所有表和字段的排序规则修改。
如果你是全新安装EyouCMS,做好以下三步就能从源头避免兼容问题:
https://www.eyoucms.com/download.html,最新版已经默认兼容MySQL5.7到8.0所有正式版本utf8mb4_general_ci,不要选择默认的utf8mb4_0900_ai_ci所有操作完成后,删除EyouCMS根目录下 runtime/ 文件夹内的所有缓存文件,刷新网站即可正常访问,所有兼容问题即可解决。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图