假设我的本地主机上有这个连接字符串:
public static Connection ConnectDB(){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/supermarket", "root","");
return con;
}
当我尝试从另一个系统连接到此系统时。我应该更改什么才能访问数据库?
说我的系统IP地址是:192.168.137.1
答案 0 :(得分:1)
你的陈述将成为
Connection con = DriverManager.getConnection("jdbc:mysql://<IP Address>:<Port>/supermarket", "root","");
使用适当的IP和端口号
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.137.1:6036/supermarket", "root","");
答案 1 :(得分:1)
要远程访问mysql
数据库,您需要考虑以下三点:
执行命令以授予用户从任何远程主机访问数据库的权限:
GRANT ALL PRIVILEGES
ON supermarket.*
TO 'root'@'%'
IDENTIFIED BY 'password';
答案 2 :(得分:1)
你的联系还可以。但localhost代表您的本地计算机IP。
您应该更改以下内容:
制作 db.properties 文件
connection=jdbc:mysql://192.168.137.1:6036/supermarket
username=root
password=xyz
并在main方法中添加以下代码
public static Connection ConnectDB(){
try{
FileReader reader=new FileReader("db.properties");
Properties p=new Properties();
p.load(reader);
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(p.getProperty("connection"),p.getProperty("username"),p.getProperty("password"));
return con;
}