首页 > 解决方案 > MySql 登录错误 - 使用用户名自动添加的域名

问题描述

我在 Windows 10 桌面上运行 Cloudera VM。从 coudera vm Linux OS 内部,我可以使用以下命令登录 MySQL:

mysql -ucloudera -pcloudera

当我尝试使用 JDBC 从 Windows 机器连接到 Cloudera VM 中的 MySQL 时,出现此错误:(我的 Windows 计算机名称是没有域名的电视)

java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'cloudera'@'tv.lan' (using password: YES))

jdbc:mysql://quickstart.cloudera:3306/infa_mdm 用户=cloudera 密码=cloudera

最后如何禁用自动添加域名?或者有没有其他方法可以解决这个问题?

下面是 Apache JMeter 的 JDBC 连接配置: 在此处输入图像描述

标签: mysqlwindowsjdbcjmeter

解决方案


GRANT privilegies to 'cloudera'@'tv.lan'
那是因为 MySQL 具有基于主机的权限。每个Username及其Hostname存储在mysql.users表中的单独列中,因此如果您希望能够tv.lan代表cloudera用户从计算机登录 MySQL,您需要授予该用户和该主机名的访问权限 -

正如文件所说

首次创建的帐户没有权限,默认角色为 NONE。要分配权限或角色,请使用 GRANT 语句。

每个帐户名称都使用第 6.2.4 节“指定帐户名称”中描述的格式。例如:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';

账户名的主机名部分,如果省略,默认为 '%'。

检查此数据库 JMeter 测试提示以获取更多信息:
-构建数据库测试计划
- JMeter 数据库测试
- JMeter Cloud 测试您的数据库


推荐阅读