繁体   English   中英

来自机架空间或Google云的MySQL数据库IP地址?

[英]MySQL database IP address from rackspace or google cloud?

好的,这是交易。 我在Rackspace上设置了MySQL数据库,并尝试与其连接。 我正在使用Google Maps教程使用MySQL创建商店定位器。 本教程中的代码行要求输入主机名,然后在Rackspace上提供服务器的IP地址。 我使用的是我认为正确的内容,但没有用。 有任何想法吗?

这是Google教程代码:

// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die("Not connected : " . mysql_error());
};

My code:
$connection=mysqli_connect ('THE IP ADDRESS OF MY RACKSPACE SERVER', 'MY USERNAME', 'MY PASSWORD');

这是Google教程的链接: https : //developers.google.com/maps/solutions/store-locator/clothing-store-locator

我知道我的服务器IP地址正确,并且我的用户名/密码正确,因为我可以使用这些凭据从终端通过SSH登录。

当我使用mysql> \\ s来显示状态时,它说连接:通过UNIX套接字的Localhost-这是否意味着它是本地主机? 我需要将其托管在IP上进行连接吗?

我希望默认情况下,Linux发行版的软件包默认将MySQL服务器配置为在本地或仅在套接字文件上进行侦听。 您可以更新数据库配置以侦听服务器的公共IP地址,但是显然这可能会带来一些安全隐患。

为此,请编辑/etc/mysql/mysqld.conf文件(根据所使用的发行版,其位置可能略有不同)和如下一行:

#bind-address                   = 127.0.0.1

bind-address                   = 0.0.0.0

现在,使用systemctl或service命令重新启动MySQL服务。

service mysql restart

您的MySQL服务器现在正在侦听主机的所有IP地址。 如果要将其限制为一个,则应输入该IP而不是0.0.0.0。 现在,您应该可以远程连接到MySQL服务器,但是,您必须已经配置了数据库用户以能够从Web服务器登录。 如果您尚未配置用户,请执行以下操作。

mysql
CREATE USER '<username>'@'<webserver ip address here>' INDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<webserver ip address>';
FLUSH PRIVILEGES;

现在,您应该能够以该用户身份登录,并可以从指定的服务器IP地址查看/修改/插入等数据到指定的数据库。 您可以像这样使用MySQL客户端从Web服务器进行测试...

mysql -u <username> -h <db server ip> -p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM