phpmysql连接超时
‘壹’ PHP连接Mysql 8.0报错的解决办法
MySQL升级至8.0版本后,若遇到PHP连接报错,解决办法主要集中在调整MySQL参数与PHP应用配置上。升级到MySQL 8.0.19版本后,注意到Binary data as: Hexadecimal这一新特性,这是MySQL在8.0版本中的一个亮点。
由于PHP版本较低,MySQL 8.0相对于5.7版本最大的影响在于账号认证方式,从mysqlnativepassword转换为cachingsha2password。为了确保应用正常运行,应保持使用native认证插件,并确保默认使用的字符集为utf8,否则可能出现连接错误。
解决报错问题只需修改MySQL的两个关键参数。创建新账号时,应先执行CREATE USER命令指定密码,然后再执行GRANT命令进行授权,避免过去直接用一条GRANT语句同时创建账号、设置密码与授权的做法。在MySQL 8.0环境下,升级方案建议包括调整账号创建与授权的步骤。
对于使用drupal系统的用户,可能会遇到连接错误,原因在于drupal代码中设置的SQLMODE包含NOAUTOCREATEUSER模式,此模式在8.0版本后已不存在。解决方法是调整drupal代码中相关设置。
完成MySQL的8.0版本升级后,全站运行正常,恭喜成功解锁新功能。享受MySQL 8.0带来的高效体验。为了帮助大家进一步提升MySQL技能,知数堂“MySQL优化课”第17期现已开课,课程从第15期开始就升级至MySQL 8.0版本。现在加入课程,与我们一起踏上MySQL 8.0的优化之旅。
此外,腾讯课堂的短课程《MySQL性能优化》已正式开课,该课程聚焦MySQL性能优化的核心要素,包括合理利用索引、降低锁的影响与提高事务并发度等关键点,旨在帮助用户全面提高MySQL性能。