如何连接到安装在PHP中单独远程服务器上的MySQL服务器?
嗨,让我进一步解释。我正在写一个网页,它将显示我创建的MySQL数据库中的数据。我的网站将托管在服务器A上。我的MySQL服务器安装在服务器B上。我需要通过php中的服务器B连接到MySQL服务器 我的MySQL IP地址是LocalHost 我不会给出我的实际IP,但假设服务器B的本地IP是1.2.3.4 服务器A与服务器B位于同一网络上 我在java中做了几乎相同的事情,当时我编写了一个程序来插入数据。以下是我的代码:如何连接到安装在PHP中单独远程服务器上的MySQL服务器?,php,mysql,ssh,Php,Mysql,Ssh,嗨,让我进一步解释。我正在写一个网页,它将显示我创建的MySQL数据库中的数据。我的网站将托管在服务器A上。我的MySQL服务器安装在服务器B上。我需要通过php中的服务器B连接到MySQL服务器 我的MySQL IP地址是LocalHost 我不会给出我的实际IP,但假设服务器B的本地IP是1.2.3.4 服务器A与服务器B位于同一网络上 我在java中做了几乎相同的事情,当时我编写了一个程序来插入数据。以下是我的代码: private void MySQLConnection() throw
private void MySQLConnection() throws Exception {
String url = "jdbc:mysql://" + rhost +":" + lport + "/NAMEOFDB";
String dbUser = "root";
String dbPasswd = "";
try{
Class.forName("com.mysql.jdbc.Driver");//****Uses imported JAR
this.connection = DriverManager.getConnection(url, dbUser,dbPasswd);
}
catch (CommunicationsException e){
e.printStackTrace();
System.out.println("ERROR");
System.out.println(e);
}
}
private void RedHatConnection(){
String user = "ACTUALUSERNAME";
String password = "ACTUALPASSWORD";
String host = "1.2.3.4";
int port=22;
try{
JSch jsch = new JSch();//****** Any JSch code uses imported JAR
Session session = jsch.getSession(user, host, port);
lport = 1234;
rhost = "localhost";
rport = 3306;
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
//System.out.println("Connecting to server.....");
session.connect();
try{
int x = session.setPortForwardingL(lport, rhost, rport);
}catch(Exception e){
System.out.println(e);
}
}
我的理解是,我创建了一个到服务器B的SSH连接,然后使用它进入MySQL。我的mysql用户名是“root”,没有密码
PHP中有类似的东西吗
我以前用php连接过MySQL服务器;然而,这一点也不像
当我这样做的时候,我会用一些类似的东西:
<?php
//connect.php
$server = 'localhost';
$username = 'USERNAME';
$password = 'PASSWORD';
$database = 'DB';
try {
# MySQL with PDO_MYSQL
$DBH = new PDO("mysql:host=$server;dbname=$database", $username, $password);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
或者我会用“mysql\u connect”做同样的事情
很抱歉出现了开放式问题,并且缺少可使用的代码。我在概念上与之斗争,这意味着我甚至不知道从哪里开始编写代码。任何指示都将不胜感激 您的mysql服务器是否已打开远程连接端口?是否引发任何异常?@Robert在我的php中?Yes@Robert实际上没有,它只是在phpAre中超时。你确定这个端口是打开的吗?您是否尝试过通过putty或telnet连接到它?因为若你们无法连接,并且超时,那个么服务器就会拒绝远程访问。