typecho无法连接数据库问题
标签搜索
侧边栏壁纸
  • 累计撰写 5 篇文章
  • 累计收到 0 条评论

typecho无法连接数据库问题

鸿宇
2022-10-10 / 0 评论 / 324 阅读 / 正在检测是否收录...

安装typecho博客,环境是CentOS8、Nginx1.22、php8、mysql8.0,typecho安装过程中出现如下问题:

对不起,无法连接数据库,请先检查数据库配置再继续进行安装

确认是否是数据库服务存在问题
比如,数据库服务没有运行、你自定义的数据库端口和填写不一致等等。运行下列命令:
netstat -unltp | grep mysql

如果命令运行有结果,显示的端口号和你在typecho安装页面填写的端口一致,说明mysql服务运行和监听是正常的。
如果没有结果,就是mysql服务没有启动,或者防火墙禁掉了mysql的运行端口。
关掉防火墙,然后用你安装mysql的那个系统用户启动一下mysql服务。

确认是否是 php-fpm和数据库的连接存在问题
如果数据库确实建好了、数据库用户也分配好了权限、mysql服务也正常启动、端口也没毛病,还是连接不上数据库,可能是php.ini配置的问题。php-fpm默认使用socket连接数据库,而socket文件(mysql.sock)的位置是从php.ini文件中读取的。但mysql.sock文件的实际位置是mysql配置决定的,所以php.ini默认的socket位置可能不对,导致找不到socket连接不上。

修改php.ini文件,指向正确的mysql.sock位置
使用 find / -name mysql.sock 查找 mysql.sock 的位置,修改 php.ini,找到 mysql.default_socket 这一字段,取消它的注释,并改为 mysql.sock 的文件路径。
在typecho安装界面,解释器选择mysql原生,才需要修改 php.ini 的 mysql.default_socket字段,如果解释器选择pdo,那需要修改的字段就变成 php.ini 文件中 pdo_mysql.default_socket 字段。

修改后依然报错无法连接数据库,登录mysql数据库执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
在刷新权限 flush privileges; 就可以继续安装了

无法登录后台
Nginx服务器点击前台链接或者后台登录时出现404, not found
官方给的解决方法是一般的出现这种情况时,nginx.conf 里的 location 设置都是类似这样的

location ~ .*.php$

需要修改成下面这样的,以支持pathinfo

location ~ ..php(/.)*$

然后保存重启nginx和php,即可登录后台

2

评论

博主关闭了所有页面的评论