错误:
mysql Client does not support authentication protocol requested by server; consider upgrading MySQL client。
原因:高版本mysql 8.0引入安全认证机制,但程序还是使用低版本认证方式。
解决办法:
#先登录:mysql -u root -p
#接着输入你的密码
解决:修改用户表,增加mysql_native_password 显式说明,注意在密码和用户、主机处加单引号。
ALTER USER root@% IDENTIFIED WITH mysql_native_password BY 你的密码;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 你的密码;
SELECT plugin FROM mysql.user WHERE User =root;
error log:
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:921)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:812)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3269)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1182)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2644)
at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at cn.com.talented.connection.MysqlConnection.getConnection(MysqlConnection.java:27)
来源参考:
https://blog.csdn.net/qq_19707521/article/details/80226321