Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Linux上使用用户和密码连接到mysql数据库_Java_Mysql_Linux_Jdbc - Fatal编程技术网

Java 如何在Linux上使用用户和密码连接到mysql数据库

Java 如何在Linux上使用用户和密码连接到mysql数据库,java,mysql,linux,jdbc,Java,Mysql,Linux,Jdbc,我已经编写了一些java代码来连接我在mysql中创建的数据库 我以前从未使用过mysql。我刚刚安装并运行了“sudomysql”,它允许我创建一个数据库并添加一个表 连接到数据库的java代码如下 Connection conn = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb"); } catch (SQLException ex) { // handle

我已经编写了一些java代码来连接我在mysql中创建的数据库

我以前从未使用过mysql。我刚刚安装并运行了“sudomysql”,它允许我创建一个数据库并添加一个表

连接到数据库的java代码如下

Connection conn = null;

try {
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb");

} catch (SQLException ex) {
    // handle any errors
    System.out.println("SQLException: " + ex.getMessage());
    System.out.println("SQLState: " + ex.getSQLState());
    System.out.println("VendorError: " + ex.getErrorCode());
}
当我试图运行这段代码时,会抛出一个异常,并按如下方式打印出来

SQLException:拒绝用户“@”localhost(使用密码: 否)SQLState:28000供应商错误:1045

我查看了API,其中一个getConnection变体使用用户名和密码,我提供了root和root密码。这也没用


但除了这个特定的错误,我不知道在linux上从java连接到mysql时如何接近用户和密码。在代码中把我的根密码放在字符串中真的可以接受吗?我是否应该始终创建一个新的独立用户(而不是root用户)来连接数据库?有没有一个更安全的地方,我可以把我的用户和密码,连接到mysql?

我只是想在评论中总结一下答案

首先您遇到的错误意味着您提供了错误的登录凭据,或者您没有提供密码之类的必填字段。我猜您还没有在MySQL中为root用户设置密码

尝试
mysql-u root-p
并在提示输入密码时按
Enter
。如果出现错误,请说
错误1045(28000):拒绝用户'root'@'localhost'的访问(使用密码:YES)
尝试使用
root
作为密码

尝试使用此方法连接到MySQL

conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb“,”根“,”密码“)

如果上述操作均无效,请尝试重置根密码,如中所述

  • 使用您的密码登录MySQL
    MySQL-u root-p

  • 使用重置密码
    为root@'localhost'设置密码=密码('PASSWORD')

  • 设计DBMS应用程序

  • 以root用户身份登录MySQL,并在MySQL服务器上创建一个用户
  • 如果要从其他计算机连接MySQL数据库,则应编辑配置,以允许从其他计算机进行绑定
  • 如果密码驻留在您的电脑上且仅供个人使用,则可以将密码置于字符串文字中。否则,您可以使用API从服务器访问评论中提到的数据

  • 我只是想在评论中总结一下答案

    首先您遇到的错误意味着您提供了错误的登录凭据,或者您没有提供密码之类的必填字段。我猜您还没有在MySQL中为root用户设置密码

    尝试
    mysql-u root-p
    并在提示输入密码时按
    Enter
    。如果出现错误,请说
    错误1045(28000):拒绝用户'root'@'localhost'的访问(使用密码:YES)
    尝试使用
    root
    作为密码

    尝试使用此方法连接到MySQL

    conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb“,”根“,”密码“)

    如果上述操作均无效,请尝试重置根密码,如中所述

  • 使用您的密码登录MySQL
    MySQL-u root-p

  • 使用重置密码
    为root@'localhost'设置密码=密码('PASSWORD')

  • 设计DBMS应用程序

  • 以root用户身份登录MySQL,并在MySQL服务器上创建一个用户
  • 如果要从其他计算机连接MySQL数据库,则应编辑配置,以允许从其他计算机进行绑定
  • 如果密码驻留在您的电脑上且仅供个人使用,则可以将密码置于字符串文字中。否则,您可以使用API从服务器访问评论中提到的数据

  • “将我的根密码放在代码中的字符串文字中真的可以接受吗?”不,您永远不应该从面向前端的应用程序直接与数据库交互。所有访问都应通过API(如REST API)完成。应用程序不是正面的。是否可以使用
    mysql
    CLI客户端使用root用户名和密码连接到数据库?。创建一个可以访问特定数据库的新用户是一个更好的主意。您将用户名和密码放在属性文件中,然后从中检索。是。我提到我可以运行“sudomysql”,然后输入root密码。我建议在使用命令行访问数据库之后,不要使用root用户和密码,而要在访问数据库之后进行一次修改。从那里,您可以使用该用户名和密码通过Java访问它。“在代码中将我的根密码放在字符串文字中真的可以接受吗?”不,您永远不应该从面向前端的应用程序直接与数据库交互。所有访问都应通过API(如REST API)完成。应用程序不是正面的。是否可以使用
    mysql
    CLI客户端使用root用户名和密码连接到数据库?。创建一个可以访问特定数据库的新用户是一个更好的主意。您将用户名和密码放在属性文件中,然后从中检索。是。我提到我可以运行“sudomysql”,然后输入root密码。我建议在使用命令行访问数据库之后,不要使用root用户和密码,而要在访问数据库之后进行一次修改。从那里,您可以使用该用户名和密码通过Java访问它。您想让我直接输入“password”字符串作为密码吗?不,我建议您在MySQL中为root用户重置密码。使用你想要的任何密码。你想让我为你的密码输入字符串“password”