使用JDBC连接Mysql 8.0.11出现了各种错误的解决
本想着自己安装数据库还是很熟悉了 没想到这次彻底被征服了
虽然以前装的都是Mysql5.7,这次第一次安装Mysql8.0.11,安装起来不费事,感觉还得心应手,但是 但是就在用JDBC连接数据库和用jdbc.properties文件时出现了巨多的错误,一环扣一环,解决了一个又生成一个
总结一下都有这些问题:(前提是在cmd下和可视化界面下正常使用)
1.检测连接引擎和数据库版本是否匹配
2.看了很多是要改密码 有两个属性很奇葩 some_user和user_host一直很懵逼是什么字段 最后知道了 死活提示没有password字段 然后有查到说是Mysql从5.7开始就没有password字段 改为了authentication_string字段
然后才修改了字段
ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'root';
3.不知道怎么滴一顿操作cmd和Navicat也进不去了 估计是my.ini的配置文件乱了
出现了#1045Accessdeniedforuser'root'@'localhost'(usingpassword:YES)”问题
"mysqld-nt--skip-grant-tables
说是这个命令可以跳过密码验证,试了没什么用 怎么都要输入密码 很尴尬,最后也因为cmd也进不去 下狠心 不改了直接卸载了Mysql 重新装了一个。
4.使用JDBC连接MySql时出现:Theservertimezonevalue'�й���ʱ��'isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viatheserverTimezoneconfiguration
把URl改为这个样子就好了
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
5.EstablishingSSLconnectionwithoutserver'sidentityverificationisnotrecommended.AccordingtoMySQL5.5.45+,5.6.26+and5.7.6+requirementsSSLconnectionmustbeestablishedbydefaultifexplicitoptionisn'tset.ForcompliancewithexistingapplicationsnotusingSSLtheverifyServerCertificatepropertyissetto'false'.YouneedeithertoexplicitlydisableSSLbysettinguseSSL=false,orsetuseSSL=trueandprovidetruststoreforservercertificateverification.
这个简单 加上 就行了
useSSL=false
6.真是一个接一个 又来了Unknownsystemvariable'query_cache_size'
这个也很容易 下载一个mysql-connector-java-8.0.11.jar就可以了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。