2

我正在使用 azure 和 mysql。我可以使用 GUI mysql 工作台连接到 azure mysql 实例,但是尝试使用命令行连接总是会拒绝访问。

这是我的连接字符串(混淆)

mysql -h azureserver -u myuser -p thepass -D thedatabase

这是命令的输出

$ mysql -h azureserver -u myuser -p thepass -D thedatabase 
Enter password: 
ERROR 1045 (28000): Access denied for user 'myuser'@'azureserver' (using password: NO)

为什么我可以连接 GUI 客户端而命令行客户端失败?我使用 -p 来指定密码,但显然结果表明我没有使用密码(见上文)

尝试通过命令行连接到 Azure mysql 实例时是否遗漏了一些细节?

Azure 教程暗示这就是我所需要的PHP mysql azure 教程

所以总结一下:

  1. 是的,MySQL 数据库已启动并正在运行。我可以通过我的应用程序访问它,也可以通过 GUI MySQLWorkbench 访问它
  2. 尝试使用命令行工具访问数据库失败,表明我没有使用密码,而实际上我使用的是 -p 开关。
  3. 我的开发盒正在运行 MacOSX
4

1 回答 1

3

关键点:

  • -p thepass
  • using password: NO

根据文档

--password[=password], -p[password]

连接到服务器时使用的密码。如果使用短选项形式 (-p),则选项和密码之间不能有空格。如果您在命令行上省略了 --password 或 -p 选项后面的密码值,mysql 会提示输入一个。

所以你被要求输入密码,但你显然没有在Enter password:提示符下输入任何内容。因此错误。

于 2013-06-10T08:30:10.203 回答