php7连接mysql8出现找不到设备和...TE[HY000] [2054] The server requested authentication...解决

用网页访问时出现 could not find driver。。。

不要慌!!!!
首先注意,php7好像只能用pdo连接
然后
php -m | grep mysql
看有没有模块
如果没有
则:yum install -y php-mysql
然后
在php.ini下面添加:

extension=pdo_mysql.so

php -m | grep mysql

再看就有mysql了

然后再连接,又出现

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
看着就肚子痛!!

解决方案:
使用SQL工具进行远程连接,这里使用PDO进行远程连接。
一般来说,直接用ROOT用户的账号密码去连接是不行,即使密码正确。
MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接。
2.1 可以更改ROOT用户的native_password密码
!!!!!!
alter user ‘root’@’%’ identified with mysql_native_password by ‘ABC123.com’

flush privileges

然后重启mysql

php7连接mysql8出现找不到设备和...TE[HY000] [2054] The server requested authentication...解决