Win10 + AppServ + 另外自行安装的Mysql8.0遇到的问题
Win10 + AppServ 2.6.0 + 另外自行安装的Mysql8.0遇到的问题
- 配置PHPMyAdmin
- 需要配置的内容有:连接路径,连接的Mysql服务及账户密码
- phpMyAdmin配置文件路径:./config.inc.php (phpMyAdmin根目录下)
1 | // config.inc.php |
- 注意事项
- ./config.sample.inc.php 不需要进行另外的配置
- Mysql #1251- Client does not support authentication protocol, consider upgrade mysql.
- 问题原因:Mysql 8.0 以上后使用了新的加密规则——chaching_sha2_password. 而 AppServ 2.6.0 中自带的PHP版本为PHP6,因此PHPMyAdmin在登陆Mysql时,无论Mysql账户密码有无设置正确,PHPMyAdmin都无法登陆。
- 延伸:此处是Mysql报错,因此若是其他程序登陆Mysql时遇到此问题,也可以用同样的方法。
- 解决方法:
- 升级PHP到7.0以上的版本即可使PHP支持新的加密规则(由于本人才疏学浅,担心AppServ统一安装的PHP6若是更换版本会不会导致整个AppServ崩溃,于是选用了另一个方法)
- 由于MySql 8.0以后只是默认使用了新的加密规则,并没有直接不支持旧规则——mysql_native_password,因此我们在Mysql进程中进行设置mysql_native_password规则的密码,使之能兼容两个加密规则的登陆请求。下面是解决方案
1 | # 运行环境为win10 1908 |
- 新版Edge貌似仍然有BUG,无法通过AppServ进入phpMyAdmin,神秘
- 解决办法:Chrome可以正常打开
Win10 + AppServ + 另外自行安装的Mysql8.0遇到的问题