目录
问题背景
今天遇见一个这个问题,解决后发出来分享一下
MySQL数据库连接错误:Unknown database 'bookmanagement'的修复方法;MySQL错误消息分析:Unknown database异常的解决
java.sql.SQLSyntaxErrorException: Unknown database 'bookmanagement' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at BookManagement.<init>(BookManagement.java:22) at BookManagement.main(BookManagement.java:64)
解决方案
这个错误提示你试图连接到一个不存在的数据库:bookmanagement
。这意味着在你的 MySQL 服务器上,可能没有名为 bookmanagement
的数据库。
解决此问题,你有以下选项:
-
创建数据库:如果你还没有创建
bookmanagement
数据库,你应该在 MySQL 中创建它。使用以下 SQL 语句:
CREATE DATABASE BookManagement;
-
确保在运行此命令时使用了足够权限的 MySQL 用户。
-
使用已存在的数据库:如果你已经有一个用于此目的的其他数据库,你可以在连接字符串中更改数据库名称。例如,如果你的数据库名为
mybooks
,则更改连接字符串为:
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybooks?useSSL=false", "root", "mysecret");
-
检查数据库名称的大小写:MySQL 在某些系统上(例如 Linux)是区分大小写的。确保你在代码中使用的数据库名称与实际的 MySQL 数据库名称匹配。
完成这些更改后,再次尝试运行你的程序,应该就可以了。
🌌点击下方个人名片,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓