Java 如何在Linux上使用用户和密码连接到mysql数据库
我已经编写了一些java代码来连接我在mysql中创建的数据库 我以前从未使用过mysql。我刚刚安装并运行了“sudomysql”,它允许我创建一个数据库并添加一个表 连接到数据库的java代码如下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
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“,”根“,”密码“)代码>
如果上述操作均无效,请尝试重置根密码,如中所述
使用您的密码登录MySQLMySQL-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“,”根“,”密码“)代码>
如果上述操作均无效,请尝试重置根密码,如中所述
使用您的密码登录MySQLMySQL-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”