php5.5.38如何可以连接到mysql8.0.19数据库?

1. 运行环境

ci框架3.15 php5.5.38 nginx、 windows 、mysql8.0.19
端口号已开通,ip没有限制,账号密码都是正确的,切换php7.3.4及以上高版本即可访问成功
mysql的密码插件已经更换过了mysql_native_password
//: <> (使用 php artisan --version 命令查看)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:php5.5.38
php扩展如下:
mhash
mysql
mysqli
mysqlnd
odbc
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_pgsql
pgsql
Phar
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer

连接数据库配置信息如下

$db['test']['hostname'] = '127.0.0.1';
$db['test']['username'] = 'test';
$db['test']['password'] = 'test';
$db['test']['database'] = 'test';
$db['test']['dbdriver'] = 'mysqli';
$db['test']['dbprefix'] = '';
$db['test']['pconnect'] = FALSE;
$db['test']['db_debug'] = TRUE;
$db['test']['cache_on'] = FALSE;
$db['test']['cachedir'] = '';
$db['test']['char_set'] = 'utf8';
$db['test']['dbcollat'] = 'utf8_general_ci';
$db['test']['swap_pre'] = '';
$db['test']['autoinit'] = TRUE;
$db['test']['stricton'] = FALSE;

5). 相关软件版本

nginx mysql

2. 问题描述?

php不升级的情况下如何连接到mysql8.0.19数据库?

mysql 数据库 字符集 版本:8.0.19

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 17

无法连接到数据库有很多原因,比如地址不对,端口受限,PDO扩展没开,数据库扩展驱动没安装,这个需要具体调试,你可以手写一个php文件,pdo链接试一下

3个月前 评论
浮心 3个月前
随波逐流

贴异常

3个月前 评论
蜗牛啊蜗牛 (楼主) 3个月前
随波逐流 (作者) 3个月前

数据库服务是否启动,数据库账号白名单,数据库密码带特殊符号#

3个月前 评论
lufeijun1234

这贴发的,还不知丢给 AI

3个月前 评论
蜗牛啊蜗牛 (楼主) 3个月前
lufeijun1234 (作者) 3个月前

从报错来看应该是扩展对于 mysql8 往上的数据包解析不支持,这种情况推荐考虑使用数据库中间件解决

3个月前 评论

这种问题,网上应该有很多吧?随便搜的,参考一下
PHP与Mysql8不兼容问题汇总

3个月前 评论
唐章明

Mysql8修改了密码加密方式,老版本的php mysql扩展不支持,老版本的sqlyog之类的工具也不支持。

3个月前 评论

你的 mysqli 连接不上 MySQL8 ,可以试试下面百度AI给的答案

file

3个月前 评论
蜗牛啊蜗牛 (楼主) 3个月前

有么有尝试过 用mycat 做一层中转

3个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!