安装MySQL在win7,64位上,遇到cannot create Windows service for MySql.Error:0

本文详细阐述了解决MySQL服务名称冲突的方法,通过更改服务名称避免了与已存在的服务名称重复的问题,确保了数据库服务的正常运行。同时,提供了一个64位MySQL的安装包作为参考。

这个问题,看到网上很答案,尝试了多次重启啥的,都不管用,最后一个改名字就OK了,


服务名称"mysql"已经被使用了,在MYSQL的配置向导里面另外取个名字就行了,比如:mysql5 或则mysql2009 

令附上64位的 MySQL的安装包




com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'mydb' at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.Util.getInstance(Util.java:387) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1215) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2255) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2286) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2085) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44) at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:613) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:199) at JDBCtest.DBUtil.getConnection(DBUtil.java:18) at JDBCtest.CreateDatabaseDemo.main(CreateDatabaseDemo.java:12) Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "conn" is null at JDBCtest.CreateDatabaseDemo.main(CreateDatabaseDemo.java:20) Caused by: java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "conn" is null at JDBCtest.CreateDatabaseDemo.main(CreateDatabaseDemo.java:16)
最新发布
12-06
### 解决 `MySQLSyntaxErrorException: Unknown database 'mydb'` 错误 此错误表明尝试连接的数据库 `mydb` 并不存在于 MySQL 服务器中。解决方法如下: 1. **确认数据库是否存在**:使用 MySQL 客户端(如 MySQL Workbench 或命令行工具)登录到 MySQL 服务器,执行 `SHOW DATABASES;` 命令查看所有数据库,确认 `mydb` 是否存在。 2. **创建数据库**:若 `mydb` 不存在,可执行 `CREATE DATABASE mydb;` 命令来创建该数据库。 3. **检查连接配置**:保证代码里的数据库连接 URL 准确无误,且指向了正确的数据库。例如,在 Java 代码中,连接 URL 应类似 `jdbc:mysql://localhost:3306/mydb`。参考配置文件示例如下: ```properties driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb username=root password=root ``` ### 解决 `java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "conn" is null` 错误 该错误意味着 `Connection` 对象 `conn` 为 `null`,所以无法调用 `createStatement()` 方法。解决方法如下: 1. **检查数据库驱动是否加载**:确保已正确加载 MySQL 数据库驱动。可使用 `Class.forName("com.mysql.jdbc.Driver");` 加载驱动,示例代码如下: ```java try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } ``` 2. **检查数据库连接信息**:保证数据库连接的 URL、用户名和密码正确。示例代码如下: ```java try { Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root"); } catch (SQLException e) { e.printStackTrace(); } ``` 3. **检查异常处理**:确保在捕获到数据库连接异常时,能正确处理,避免 `conn` 为 `null`。示例代码如下: ```java Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root"); Statement statement = conn.createStatement(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值