使用jdbc连接数据库
eclipse使用jdbc连接mysql时的各个参数为:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/test_db
jdbc.username=root
jdbc.password=123456
问题1:Illegal connection port value ‘3306:test_db’
原因分析:出现Illegal connection一般都是连接参数写错了,仔细检查!!!这里的:应该是/。就一个这个害我找了老半天,还是太久没用数据库太不熟练了。
问题2:client does not support authentication protocol requested by server
原因分析:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决办法:
把用户密码登录的加密规则还原成mysql_native_password这种加密方式
- 进入命令行模式
mysql -u root -p"123456" - 修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; - 刷新权限,使修改生效。
FLUSH PRIVILEGES; - 查看表中相关信息,确认修改是否真正生效
use mysql;
select user,host,plugin from user where user='root';

问题3:Unknown initial character set index ‘255’ received from server. Initial client character set can be forced via the ‘characterEncoding’ property.
原因分析:MySQL驱动和数据库字符集设置不搭配
解决办法:连接数据库时设置字符集。
将以下语句:
String url = "jdbc:mysql://localhost:3306/test_db"
替换成:
String url = "jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8";
1513

被折叠的 条评论
为什么被折叠?



