谷歌云sql中的Mysql连接

Posted

技术标签:

【中文标题】谷歌云sql中的Mysql连接【英文标题】:Mysql Connect in google cloud sql 【发布时间】:2016-02-27 05:20:25 【问题描述】:

我无法从 Google 云计算引擎连接到 mysql 到 MySQL 存储。当我在浏览器上转到 172.146.221.156/test.php 时,会显示这样的错误消息

警告:mysqli_connect(): (HY000/2002): Permission denied in /var/www/html/test.php on line 21 连接错误 (2002'

我的配置文件是:

<?php
$conn = mysqli_connect("176.154.226.114", "root", "password");
if (!$conn) 

    die('Connect Error (' .mysqli_connect_errno());

?>

我做错了什么?

【问题讨论】:

Connect DATABASE Error TYPE: 2002: Permission denied的可能重复 【参考方案1】:

您是否在 Cloud SQL 实例中设置了安全性?计算引擎实例的 ip 应在您的云 sql 实例中列入白名单。您可以在访问控制下找到它 --> 授权网络

【讨论】:

是的。我的公众在白名单中。现在我面临另一个问题。我可以用 mysql_connect() 连接。但我无法连接 mysqli_connect()。会是什么原因??有人知道怎么做吗?【参考方案2】:

我在 CentOS 7 上运行并遇到了同样的问题,直到我找到以下帖子:Connect DATABASE Error TYPE: 2002: Permission denied

基本上setsebool -P httpd_can_network_connect_db 1

在不禁用 SELinux 的情况下解决了我的问题。

希望对你有帮助。

【讨论】:

新功能。不确定如何“标记为重复”。只是觉得我的发现可能会有所帮助。 不用担心。我会做的,【参考方案3】:

在您的谷歌云 => 转到 sql=> 点击您的实例 => 连接 => 公共 IP 添加 0.0.0.0/0 作为允许的网络,然后保存。

如果您只想远程访问,或者在谷歌中写下我的 ip 并添加它。

【讨论】:

以上是关于谷歌云sql中的Mysql连接的主要内容,如果未能解决你的问题,请参考以下文章

Sequelize.authenticate() 对 Docker 内的谷歌云 sql 连接不起作用(没有成功或错误响应)

写入谷歌云 postgresql 数据库的连接网络错误

如何将用户定义的函数上传到谷歌云 MySQL 实例

谷歌云 SQL 很慢

如何使用谷歌云连接服务器发送上游 GCM 消息

将谷歌云功能连接到云 sql (postgreSQL)