如何访问和操作我的mysql数据库,这是在不同的机器

x7yiwoj4  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(275)

我已经做了一个mysql数据库,我可以很容易地用java操作,
但是我不能从其他机器上访问它,因为它只运行在localhost上对吗?我该怎么做才能从另一台机器上操作数据呢。还是我的想法都错了?我试过在mysql工作台上玩远程访问,但我不太理解。
下面是我目前访问它的方式。

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

atmip9wb1#

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

jdbc:mysql://localhost:3306/sampledatabase

在这里 localhost 指数据库服务器的主机名,指同一台机器或本地机器。如果您正试图访问驻留在另一台计算机上的其他数据库服务器,则需要替换 localhostremote-machine-hostname 或者它是 ip-address .

wqnecbli

wqnecbli2#

当然你可以远程访问它!
首先,您必须了解什么是mysql用户以及身份验证机制。mysql处理 'UserName'@'Host' 作为一个真正的用户谁可以访问mysql服务器。当您在本地访问它时,您使用的实际用户是 'Me'@'localhost' (假设这里的用户名是“我”)。在mysql服务器中必须有一个名为 'Me'@'localhost' 存在(或 'Me'@'%' ). 您必须为提供正确的密码 'Me'@'localhost' 也。
当您需要远程访问它时,必须替换 localhost 使用远程ip地址,以便应用程序可以正确创建tcp连接。假设mysql服务器的ip地址是 172.0.1.5 你的应用的ip地址是 172.0.1.10 . 您现在使用的实际用户是 'Me'@'172.0.1.10' . 您必须确保用户 'Me'@'172.0.1.10' mysql服务器中不存在。否则您将遇到身份验证失败。
要检查所有用户:

select * from mysql.user;  // if you have the privilige to perform it

添加用户:创建用户语法。

相关问题