我正在尝试将我的应用程序部署到另一台服务器,虽然JDBC连接在我的机器上工作,但我无法使用这个mysql服务器。
有关mysql服务器的一些信息:
select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
mysql> show variables where Variable_name="port";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
使用用户localhost登录mysql没有密码( mysql -u root 就足以登录)
我使用以下语句连接数据库
DriverManager.getConnection(
"jdbc:mysql://localhost:3306/database_name", "root", ""));
但是,它会引发以下错误
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
有什么建议吗?感谢。
答案 0 :(得分:1)
你需要在%MYSQL_INSTALL_PATH%/ bin 文件夹中,使用cmd并运行:
mysqld -nt --skip-grant-tables
mysqladmin -u root flush-privileges password "NEW_PASSWORD"
和重新启动 mysql服务。
答案 1 :(得分:1)
尝试为root
用户设置密码。让root
用户没有凭据是非常糟糕和不安全的。这link会有所帮助
答案 2 :(得分:1)
您是否尝试过mysql -u root -p
,未提供密码字段?
我想这就是问题所在
"jdbc:mysql://localhost:3306/database_name", "root", ""));
您使用""
作为密码,因此我认为您需要执行此操作mysql -u root -p