昨天我从Azure市场部署了一个MySQL数据库映像。它是this one由Microsoft发布的。我可以与我在Azure门户中指定的用户建立连接,并且能够为测试目的创建一个额外的用户,并在两个不同的数据库上授予它所有权限。但是,如果今天尝试做同样的事情,我会得到臭名昭着的Error Code: 1044. Access denied for user 'admin'@'%' to database 'mysql'
。我已经读过Azure上的一些MySQL版本不支持用户权限处理,但我已经能够使用这个图像版本。我甚至验证了创建的用户可以访问指定的数据库,并从中插入/选择数据也有效。我尝试使用新的testuser设置一个新的数据库无济于事,因为我收到了同样的错误。这基本上就是我做的:
CREATE USER 'user'@'%' IDENTIFIED BY 'pw';
GRANT INSERT ON db.* TO 'user'@'%' IDENTIFIED BY 'pw';
FLUSH PRIVILEGES;
创建用户后,我还使用SHOW GRANTS FOR 'user'@'%'
检查了给定的权限,他们就在那里。 Azure门户中指定的管理员用户也具有grant_priv权限。有人可以帮我理解为什么我突然不能给新创建的用户提供简单的权限吗?应该可以从Microsoft员工的this Blogpost建议。很明显,我错过了一些东西,因为应该包含这样一个基本功能。