我在运行Ubuntu 12.04LTS的Windows Azure上有两台机器:其中一台运行MySQL数据库,另一台运行需要访问数据库的其他进程。 除了设计(这是减少真正的配置),我想知道是否有可能分配权限,以机器A连接到MySQL 5.5服务器机器B分配其在mysql.user表中的DNS名称。根据DNS名称分配MySQL权限
一个简单的例子:
机器A
Runs: application code, webserver
DNS: machineA.cloudapp.net
PUBLIC VIRTUAL IP ADDRESS: 123.456.789.012
INTERNAL IP ADDRESS: 1.2.3.4
机器B
Runs: MySQL server 5.5
DNS: machineB.cloudapp.net
PUBLIC VIRTUAL IP ADDRESS: 098.765.432.109
INTERNAL IP ADDRESS: 4.3.2.1
从每一台机器,我不能ping了一个,但
[email protected]:~$ ping machineB.cloudapp.net
正确解析machineB公共虚拟IP地址。
machineB上我执行以下命令:
- 连接到MySQL服务器
- 用mysql
- 赠款的使用上。转换为'user'@machineA.cloudapp.net''由'password'标识;
- 将db_name。*的所有权限授予'user'@'machineA.cloudapp.net';
- flush privileges的
当我尝试从machineA的连接到machineB的数据库中,我得到如下:
ERROR 1130 (HY000): Host [123.456.789.012] is not allowed to connect to this MySQL server
如果我取代 'user'@'machineA.cloudapp.net' 与“用户'@'123.456.789.012'它的作品直到一个重新启动。 Azure的虚拟机IP不是静态的,所以我无法绑定用户表中的特定地址。
我该怎么办?
我可以知道你是如何解决这个问题的。我也面临类似的问题 – Suriya
我很抱歉,但经过一年的真诚,我不记得我是如何解决的,因为我现在也为另一家公司工作。如果我没有记错,我在Azure帐户中创建了一个虚拟网络,并为机器重新启动时分配的固定VNET IP分配了不变的内容。之后,我把这个信息放入MySQL用户表中。对不起,我帮不了你。 请参阅以下链接:http://michaelwasham.com/windows-azure-powershell-reference-guide/setting-static-ip-addresses-in-a-virtual-network/ – Andrea