我已经建立了一个用于在我的数据库中进行报告的用户。我已经在必要的数据库上授予了SELECT
个权限。
例如,我可以从phpMyAdmin登录MySQL,并且我会向用户提供应该做的事情。
但是,尝试从ODBC读取后会出现以下错误:
[MySQL][ODBC 3.51 Driver]Access denied for user user@server_ip (using password: YES)
我需要做些额外的事吗?使用root
的访问没有此问题,但显然,出于安全原因,我不想授予该用户所有权限。
答案 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。