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
无法连接到数据库有很多原因,比如地址不对,端口受限,PDO扩展没开,数据库扩展驱动没安装,这个需要具体调试,你可以手写一个php文件,pdo链接试一下
贴异常
发报错
盲猜没装驱动
数据库服务是否启动,数据库账号白名单,数据库密码带特殊符号#
这贴发的,还不知丢给 AI
从报错来看应该是扩展对于 mysql8 往上的数据包解析不支持,这种情况推荐考虑使用数据库中间件解决
这种问题,网上应该有很多吧?随便搜的,参考一下
PHP与Mysql8不兼容问题汇总
Mysql8修改了密码加密方式,老版本的php mysql扩展不支持,老版本的sqlyog之类的工具也不支持。
你的 mysqli 连接不上 MySQL8 ,可以试试下面百度AI给的答案
有么有尝试过 用mycat 做一层中转