嗨让我进一步解释。我正在写一个网页,它将在我创建的MySQL数据库中显示数据。我的网站将托管在服务器A上我的MySQL服务器安装在服务器B上。我需要以某种方式在PHP中连接到服务器B的MySQL服务器。
我的MySQL IP地址是LocalHost。
我不会透露我的实际IP,但可以说服务器B的LOCAL IP是1.2.3.4
服务器A与服务器B位于同一网络上。
当我编写一个插入数据的程序时,我在java中做了同样的事情。这是我的代码:
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();
}
?>
或者我会用&#34; mysql_connect&#34;。
做同样的事情对于开放式问题,以及缺少可用的代码,我们深表歉意。我在概念上苦苦挣扎,这意味着我不知道从哪里开始编写代码。任何方向将不胜感激。