我已经创建了一个可以用Java轻松操作的Mysql数据库,
然而,我不能从其他机器访问它,因为它只在本地主机上运行,对吗?我该怎么做,这样我才能操作来自另一台机器的数据。或者我说的都错了?我尝试过在MySQL工作台上使用远程访问,但我就是不理解它。
这是我目前访问它的方式。
Connection myConn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/sampledatabase"
);发布于 2018-01-19 10:38:38
当然你可以远程访问它!
首先,您必须了解什么是MySQL用户和身份验证机制。MySQL将'UserName'@'Host'视为可以访问MySQL服务器的真实用户。当您在本地访问它时,您使用的实际用户是'Me'@'localhost' (假设这里的用户名是'Me')。在MySQL服务器内部,必须有一个名为'Me'@'localhost' exist(或'Me'@'%')的用户。您还必须为'Me'@'localhost'提供正确的密码。
当你需要远程访问它时,你必须用远程ip地址替换localhost,这样你的应用程序才能正确创建TCP连接。假设MySQL服务器的ip地址为172.0.1.5,您的应用的ip地址为172.0.1.10。您现在使用的实际用户是'Me'@'172.0.1.10'。您必须确保MySQL服务器中确实存在用户'Me'@'172.0.1.10'。否则,您将遇到身份验证失败。
要检查所有用户,请执行以下操作:
select * from mysql.user; // if you have the privilige to perform it添加用户:Create User Syntax。
发布于 2018-01-19 10:14:16
可以,您可以访问安装在其他机器上的数据库。您需要理解您提供的url。
jdbc:mysql://localhost:3306/sampledatabase这里localhost指的是数据库服务器的主机名,指的是同一台机器或本地机器。如果您正在尝试访问驻留在其他计算机上的其他数据库服务器,那么您需要将localhost替换为remote-machine-hostname或它的ip-address。
https://stackoverflow.com/questions/48332987
复制相似问题