0

我已经建立了一个将用于在我的数据库中报告的用户。我只SELECT授予了必要数据库的权限。

例如,我可以从 phpMyAdmin 登录 MySQL,并且我对用户做了应该做的事情。

但是,一旦您尝试从 ODBC 读取,就会出现以下错误:

[MySQL][ODBC 3.51 Driver]Access denied for user user@server_ip (using password: YES)

我需要做一些额外的事情吗?访问root没有这个问题,但显然,出于安全原因,我不想向该用户授予所有权限。

4

1 回答 1

2

您必须首先确保用户在本地连接时具有您想要的访问权限。您可以使用 MySQL 查询浏览器或 MySQL 命令行客户端进行测试。

现在,如果在本地测试时没有问题,并且如果 root 用户能够从远程计算机访问表,那么用户的权限一定有问题,这会阻止它从远程主机访问表。检查您是否已正确授予用户所需的权限。这是正确的语法:

mysql> CREATE USER 'custom'@'host47.example.com' IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON expenses.*
    ->     TO 'custom'@'host47.example.com';

请参阅MySQL 参考手册中的添加用户帐户

于 2012-09-21T11:58:26.500 回答