mysql 客户端可以访问_Mysql客户端工具可以连接,但是代码访问就会报错
在執行如下代碼的時候,客戶端工具是可以連接的:
但是用代碼去訪問的時候,卻總是報錯誤:
java.sql.SQLException: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444)
com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
---------------------
作者:Going_cc
來源:CSDN
原文:https://blog.csdn.net/weixin_39033443/article/details/81711306
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
代碼連接mysql的demo如下:
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/activiti";
String dbName = "root";
String password = "123456";
// 注冊 JDBC 驅動
Class.forName(driver);
// 打開鏈接
System.out.println("連接數據庫...");
conn = DriverManager.getConnection(url,dbName,password);
// 執行查詢
System.out.println(" 實例化Statement對象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT rid, rolename FROM role";
ResultSet rs = stmt.executeQuery(sql);
// 展開結果集數據庫
while(rs.next()){
// 通過字段檢索
int rid = rs.getInt("rid");
String rolename = rs.getString("rolename");
// 輸出數據
System.out.print("ID: " + rid);
System.out.print(", 站點名稱: " + rolename);
System.out.print("\n");
}
// 完成后關閉
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 處理 JDBC 錯誤
se.printStackTrace();
}catch(Exception e){
// 處理 Class.forName 錯誤
e.printStackTrace();
}finally{
// 關閉資源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
后經查詢,引入如下方法解決:
即執行命令:
show variables LIKE '%time_zone%';
set global time_zone = '+8:00';
話不多說,從錯誤即可知道是時區的錯誤,因此只要將時區設置為你當前系統時區即可,
因此使用root用戶登錄mysql,按照如下圖所示操作即可。
我電腦的系統為北京時區,因此在系統中設置后,再連接數據庫運行,一切OK!
總結
以上是生活随笔為你收集整理的mysql 客户端可以访问_Mysql客户端工具可以连接,但是代码访问就会报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】使用Jmeter针对ActiveM
- 下一篇: STM32超声波模块测距串口输出/通用定