如何访问&操纵我在不同机器上的MySQL数据库

时间:2018-01-19 01:46:33

标签: java mysql

我制作了一个可以用Java轻松操作的Mysql数据库,

但是我无法从其他机器访问它,因为它只运行localhost吗?我将如何制作它以便我能够操纵来自另一台机器的数据。或者我是否认为这一切都错了?我试过在MySQL工作台上玩远程访问,但我只是不理解它。

以下是我目前如何访问它。

Connection myConn = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/sampledatabase"
);

2 个答案:

答案 0 :(得分:2)

当然你可以远程访问它!

首先,您必须了解什么是MySQL用户和身份验证机制。 MySQL将'UserName'@'Host'视为可以访问MySQL服务器的真实用户。当您在本地访问它时,您使用的实际用户是'Me'@'localhost'(假设此处的用户名为“我”)。在MySQL服务器内部必须存在名为'Me'@'localhost'的用户(或'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

答案 1 :(得分:1)

是的,您可以访问安装在其他计算机上的数据库。您需要了解您提供的网址

jdbc:mysql://localhost:3306/sampledatabase

此处localhost是指数据库服务器的主机名,表示相同的计算机或本地计算机。如果您尝试访问驻留在其他计算机上的其他数据库服务器,则需要将localhost替换为remote-machine-hostnameip-address