如何启动sql server?

kpbwa7wx  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(300)

这个问题在这里已经有答案了

臭名昭著的java.sql.sqlexception:找不到合适的驱动程序(16个答案)
两年前关门了。
我是sql新手,我正在做一个需要sql的学校项目。我已经在名为 pizzeriaGennarino 我创建了一个java程序,可以连接到数据库,但我不知道如何连接到mysql服务器。
更新:
我已经安装了驱动程序,但是当我运行java应用程序时,它会生成一个新的异常。我使用的是sql workbench,您可以在这里看到它的图像:

更新的java代码:

import java.sql.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.cj.jdbc.Driver");
          Connection connect = DriverManager
              .getConnection("jdbc:mysql://localhost:3306/pizzeriaGennarino","theusername","thepassword");

    }
}

更新的异常:

Exception in thread "main" java.sql.SQLException: The server time zone value 'CEST' 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.
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:832)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Main.main(Main.java:7)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'CEST' 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.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
    at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)
    at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2236)
    at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2260)
    at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1314)
    at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:963)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:822)
    ... 6 more
avkwfej4

avkwfej41#

这里没什么,
首先,您需要将mysql驱动程序添加到您的项目中。请参阅此处,以获取mysql项目中最新的mysql jdbc连接器。一旦项目有了正确的驱动程序,就可以开始使用它来连接和操作数据库。
其次,服务器本身(mysql)通常作为服务运行。如果可以创建表,则表示数据库服务器已启动并正在运行。您编写的代码是操作数据库本身。如果服务器已启动并运行,并且安装了正确的驱动程序,则一切就绪。
现在,如果您使用的是gradle或maven,那么驱动程序的安装就非常简单:
Maven:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.12</version>
</dependency>

grad尔:

// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.12'

我个人使用gradle,所以我会将上面的gradle片段添加到build.gradle文件的dependencies部分。maven也会有类似的部分。

相关问题