当前位置:网站首页 >  资讯

迅睿CMS MySQL8适配设置详细可落地操作教程

时间:2026年06月11日 00:48:25 来源:易频IT社区

你有没有折腾服务器的时候图新鲜,把MySQL升级到8,结果打开迅睿CMS直接报数据库连接错误?

我当初刚升MySQL8的时候,对着白屏折腾了快一下午,一会儿重装程序一会儿查服务器端口,结果就是俩小配置没改,说出来都是泪。

今天把能落地的操作全整理出来,照着改五分钟就能搞定。

为啥迅睿连不上MySQL8?先搞懂根源

说白了很简单,MySQL8默认改了用户密码的加密规则啊。之前MySQL5时代,默认用的是mysql_native_password加密,MySQL8换成了新的caching_sha2_password,迅睿CMS认不出新的加密规则,这不就连不上了嘛。

就好比你换了个新指纹锁,还拿旧的机械钥匙捅,肯定捅不开啊,不是锁坏了也不是钥匙坏了,不对口而已。

具体操作照着改就行

改MySQL用户的加密规则

先登录你服务器的MySQL,用root权限进,执行命令:

``` mysql -u root -p ```

输完root密码进去之后,找到你给迅睿CMS分配的那个数据库用户,一般用户名和你的数据库同名,执行下面这条命令改规则:

``` ALTER USER '你的数据库用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的数据库密码'; FLUSH PRIVILEGES; ```

迅睿CMS MySQL8适配设置详细可落地操作教程

记得把占位的「你的数据库用户名」「你的数据库密码」换成你自己的实际信息,别直接复制用哦。

关闭MySQL8的严格模式

改完MySQL这边,别着急走,还要改迅睿的配置文件,很多人栽在这一步。

找到你迅睿CMS根目录下的config/database.php文件,打开之后找到连接参数那块,加上一行配置关闭严格模式,避免后续出现字段报错的问题。

完整的配置参考大概长这样,核心就是加那一行注释标的代码:

``` return [ 'type' => 'mysql', 'hostname' => '127.0.0.1', 'database' => '你的数据库名', 'username' => '你的用户名', 'password' => '你的密码', 'hostport' => '3306', 'params' => [ \PDO::ATTR_CASE => PDO::CASE_NATURAL, \PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 'strict' => false, // 新增这一行,关闭MySQL8严格模式 ], ]; ```

我当初就是改了加密规则忘了关严格模式,能进后台,一发文章就报sql错误,又折腾了快俩小时才找到问题,这个坑一定记得避开。

重启清缓存测试

改完两个地方之后,把你的web服务器(nginx或者Apache都行)重启一下,再登录迅睿后台,把全站缓存清一遍。

这时候再打开网站前台后台,基本就都正常了。

这些误区别踩,白耽误时间

  • 别硬扛着不修改加密规则,低版本迅睿根本不支持新的加密方式,折腾半天找程序bug纯属浪费时间。
  • 别嫌麻烦降回MySQL5,没必要折腾导数据迁库,改俩配置就能用,省多少事。
  • 如果改完还是连不上,先检查你的数据库端口有没有开,数据库用户有没有给本机权限,绝大多数问题都出在前面两步。

其实这事儿吧,就是大版本升级的小适配问题,根本不算什么bug,五分钟就能搞定,不用搞得那么复杂。你要是之前卡在这里好久,看完是不是一下子就通了?

相关推荐

最新

热门

推荐

精选

标签

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

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图