JDBC连接MySQL
第二步获取连接时出现问题
语句
String url=“jdbc:mysql://localhost:3306/tese1?serverTimezone=GMT&useSSL=false”;
这里url的格式: 协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
String user=“root”;
String password=“123456”;
Connectionconnection=DriverManager.getConnection(url,user,password);
后来上网查了一下
大多数解决方案是在URL后添加字符集格式或者时区之类的
加了还是不行
感觉是数据库设置的问题
因为我已经开启数据库了,并且连接成功了(net start mysql)
但是输入查看端口语句却显示端口为0
正常是3306,我也一直以为是3306(因为在my.ini文件下我是这么配置的)
查询资料说是my.cnf配置了skip-networking。
(my.cnf是linux下的配置文件,my.ini是windows下的配置文件)
没有这个语句,但是有skip-grant-tables和shared-memory两句
这两句的作用是在连接MySQL时输入mysql -u root -p命令后不需要输密码直接进如mysql命令,也就是说我之前每次输的密码是错误的,压根不需要输密码
后来参考了一篇文章修改了密码
文章链接https://blog.csdn.net/qq_36675754/article/details/81381341
补充2点:1.在配置my.ini如果不成功时需要再加一句shared-memory
2.重新设置密码语句:SET PASSWORD FOR root@localhost = ‘123456’;
然后重新连接数据发现成功了
总结:JDBC连接数据库未成功时,一定看清楚:数据库名称有无问题,root密码正确与否,url格式有无问题。