我如何设置用户在MySQL中使用ODBC?

时间:2012-09-21 10:58:32

标签: mysql odbc

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

例如,我可以从phpMyAdmin登录MySQL,并且我会向用户提供应该做的事情。

但是,尝试从ODBC读取后会出现以下错误:

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

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

1 个答案:

答案 0 :(得分:2)

您必须首先确保用户在本地连接时具有所需的访问权限。您可以使用MySQL Query Browser或MySQL Command Line客户端对此进行测试。

现在,如果在本地测试时没有问题,并且如果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参考手册中的Adding User Accounts