首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Apache连接到远程MySQL

将Apache连接到远程MySQL
EN

Stack Overflow用户
提问于 2014-12-28 21:52:43
回答 4查看 8.2K关注 0票数 1

我正在运行两个Ubuntu服务器(ubuntu-14.10-server- am 64)。在ESXI上的虚拟VMWARE测试环境中。

  1. 第一个服务器是后端mysql服务器.知识产权: 192.168.253.140
  2. 第二个服务器有一个带有PHP的Apache2服务来服务一个网页。知识产权: 192.168.253.143

1 MYSQL服务器: 192.168.253.140

( A)我对服务器进行了配置,这样就可以为2台特定计算机配置2个用户,以便能够连接到特定的数据库。

用户' apache ',让apache服务器连接到mysql服务器:

代码语言:javascript
复制
create user 'apache'@'192.168.253.143' IDENTIFIED BY    'abc123';     
grant    ALL PRIVILEGES ON Modulus_Docker_IW.* TO  'apache'@'192.168.253.143'    WITH GRANT OPTION;

用户' pc ',让我自己的pc通过一个WAMP服务器(PHP)连接到远程mysql服务器。

代码语言:javascript
复制
create user 'pc'@'192.168.253.1' IDENTIFIED BY 'abc123';  
grant ALL PRIVILEGES ON Modulus_Docker_IW.* TO   'pc'@'192.168.253.1' WITH GRANT OPTION;

FLUSH PRIVILEGES; FLUSH HOSTS;

( B)我还配置了绑定/etc/ mysql /my.cnf,以便mysql服务器接受任何主机(不仅仅是本地主机)

代码语言:javascript
复制
bind-address = 0.0.0.0

2 APACHE服务器: 192.168.253.143

安装了Apache服务器,我将我的test php页面上传到服务器上。它是一个简单的页面,从mysqlserver上的数据库获取用户名和密码。

我在dreamweaver中与"pc“用户创建了一个连接,我可以撤回一些数据,用WAMP服务器处理PHP。

如果我将文件上传到远程Apache服务器,则会将连接字符串更改为apache用户,并希望得到最好的结果。但我刚收到一页白纸什么都没有..。。

在Apache2中是否有我必须做的事情,允许到mysqlserver的传出或传入连接?

PHPcode:

代码语言:javascript
复制
<?php 
$username = "pc";
$password = "abc123";
$host="192.168.253.140";
$database="Modulus_Docker_IW";

$link = mysql_connect($host, $username, $password);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db ($database, $link); 

$strSQL = "SELECT naam, paswoord FROM tblUsers ORDER BY naam ASC"; 
$result = mysql_query( $strSQL, $link );

mysql_close($link);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<p>echo 'Connected successfully';<p>
<?php 
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "Naam :{$row['naam']}  <br> ".
         "--------------------------------<br>";
} 

 ?>
</body>
</html>

感谢你的评论。现在我从apache获得一些调试信息。

致命错误:在第7行调用/var/www/html/弹性模量/connectHand.php中未定义的函数mysql_connect()

好的,解决了:这个解决方案是在connect()上找到的

我没有在apache服务器上安装"sudo apache installphp5-mysql“。

谢谢你的快速反应。

EN

回答 4

Stack Overflow用户

发布于 2014-12-28 22:31:51

好的,解决了:这个解决方案是在PHP /Apache上找到的:PHP致命错误:调用未定义函数mysql_connect()

我没有在apache服务器上安装"sudo apache installphp5-mysql“。

谢谢你的快速反应。

票数 1
EN

Stack Overflow用户

发布于 2014-12-28 21:56:34

检查MySQL服务器上的iptables,以确保它没有阻塞连接。默认端口是TCP/3306。此外,检查MySQL配置以确保允许来自外部本地主机的连接。

票数 0
EN

Stack Overflow用户

发布于 2014-12-28 21:56:55

MySQL用户与Unix系统用户不一样。仅仅因为您在DB中创建了一个名为"apache"的用户,这并不意味着PHP程序用来连接到它的就是用户。如果您在这里向我们展示您的PHP代码会更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27680948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档